2014-03-03 138 views
0

我想在我的自定義WordPress主題內使用AudioPlayer.js jquery插件。在Wordpress中嘗試使用它之前,它在我的基本html/css測試網站中工作得很完美,沒有任何錯誤。Jquery「Uncaught IndexSizeError:無法執行」錯誤

現在,這是我的WP主題中,尋找在Chrome瀏覽器開發工具時,我得到這個錯誤:

Uncaught IndexSizeError: Failed to execute 'end' on 'TimeRanges': 
    The index provided (0) is not less than the object's length (0). 

而且它不斷地試圖運行,Chrome會計算它多少次嘗試:我輸入了22,000次,並計數。它還表示這是因爲Audioplayer.js文件中的第103行。 103線是:

barLoaded.width((theAudio.buffered.end(0)/theAudio.duration) * 100 + '%'); 

我知道,可能不會沒有整個插件多大的意義,所以我上傳的全部插件here on Pastebin。我知道在提問時鏈接到外部網站並不理想,但我不想在此發佈太多的代碼。下面是錯誤的Chrome瀏覽器開發工具的截圖:

enter image description here

我確信,jQuery是被稱爲在頭部,該插件使用此代碼在頁腳調用之前:

<script>jQuery(function() { jQuery('audio').audioPlayer(); });</script> 

任何人都可以給我一些想法,可能會導致這種情況?謝謝!

+1

audioplayer.js代碼在嘗試獲取集合的第一項(0)之前應該確實檢查Audio.buffered.length> = 1。但奇怪的是,它不停止拋出這個錯誤。如果您將音頻放在簡單的

+0

謝謝你的回覆,蒂姆!音頻源的路徑不起作用。 –

回答

0

嗯,我當然不明白它拋出的錯誤,但是感謝@TimHayes的回覆,我只嘗試了一個簡單的HTML5音頻標籤,但它仍然沒有播放。然後我想使用直接的,明確的URL路徑到資產。 (請記住這是一個WordPress主題)現在一切正常!奇。如果有其他人碰巧出現並且知道爲什麼會出現這種錯誤,我很樂意聽到它!

+1

我在上面的評論中想到了很多。如果音頻源無效,則無法緩衝內容,並且audio.buffered.length將保持爲0. audioplayer.js代碼未對此進行說明。所以當它檢查buffered.end(0)時會拋出一個錯誤。您應該將此錯誤提交給開發人員。有關TimeRanges的詳細信息,請參閱html5規範:http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#timeranges – TimHayes

+0

好的,有道理。再次感謝蒂姆! –

相關問題