2016-08-15 55 views
1

我的web應用程序(用HTML5和jQuery編寫)包含一個視頻元素,其源代碼在用戶交互後動態分配。 添加源(視頻元素路徑,而不是源標籤)後,我調用video-element.load(),出於某種原因,兩個GET請求被髮送到我的本地主機服務器。 第一個請求有視頻元素由於重複的請求而無法加載

bytes=0- 

範圍標和第二

bytes=<FileLength>- 

我的服務器(C#編寫)需要請求和爲他們服務的(在一個「大」塊發送回一個mp4文件)。但視頻元素似乎是空的(空白),並且不會響應.play()。

我最大的問題是,這個問題並不一致,它可能不會發生在一個文件上,然後它會在大約一秒之後。此外,它僅在Chrome V52及更高版本上發生(不會發生在V51或Firefox上)

有人有什麼想法嗎? 如何檢查它是否是HTML問題? JS問題?瀏覽器是否應該發送2個GET請求,即使我調用load()一次?

+0

什麼是觸發加載數據的事件? – Alex

+0

某個div上的click事件,檢查它,並且在加載之前沒有發送GET請求(),然後一次有2個(如果這就是你要去的地方) –

+0

所以顯然這個事件會冒泡和觸發兩次? – Alex

回答

0

解決您的問題的另一種方法是更改​​您的Web服務器,以使其能夠處理此類請求。 選項爲: 1.修復該問題以支持回覆部分響應塊(使用響應頭Content-Range) 2.將其配置爲完全禁用部分響應(通過向響應頭添加Accept-Ranges:none