我正在使用自定義<audio>
播放器的插件,一切都很好。我在Mac OSX 10.8.2的Safari瀏覽器上工作,一旦我決定在其他瀏覽器中測試項目,事情就變得非常奇怪了。簡而言之,插件應該在頁面中找到<audio>
標籤,並將它們更改爲不同的自定義標記。在Safari瀏覽器中工作正常,但似乎並沒有在Firefox和歌劇工作jQuery <audio>插件不適用於Firefox和Opera
Firefox和Opera有以下問題,插件中有一部分,如果音頻源是不支持的格式,創建不同的(迷你)播放器,這基本上是舊版瀏覽器的後備,但我沒有看到firefox和opera如何顯示這個後備播放器,因爲兩者都是非常現代的瀏覽器。
插件最初來自:http://tympanus.net/codrops/2012/12/04/responsive-touch-friendly-audio-player/但是我做了一些改變,例如
canPlayType = function(type)
{
var audioElement = document.createElement('audio');
return !!(audioElement.canPlayType &&
audioElement.canPlayType('audio/' + type.toLowerCase() + ';').replace(/no/, ''));
};
和原來是
canPlayType = function(file)
{
var audioElement = document.createElement('audio');
return !!(audioElement.canPlayType &&
audioElement.canPlayType('audio/' + file.split('.').pop().toLowerCase() + ';').replace(/no/, ''));
};
和另一個小變化
else if(canPlayType('mp3')) isSupport = true;
其中如原來是
else if(canPlayType(audioFile)) isSupport = true;
這些修改是爲了指定src中的文件是mp3而不是自動檢測它(因爲我沒有使用本地文件,而是使用soundcloud api生成的url)。我看不出這些更改如何影響瀏覽器無法使用插件。由於涉及到許多代碼文件,因此我在這裏創建了一個dropbox文件夾,以便您可以在這裏自己查看它們,您可以在不同的瀏覽器中嘗試index.html文件,以便查看我正在討論的問題:https://www.dropbox.com/sh/xutioz3hyrybvz3/f0-528WzH0
編輯:我也創建了jsbin http://jsbin.com/unupov/1/edit現場演示,所以你可以看到球員在不同瀏覽器的行爲
編輯2:忽略Chrome的問題,這要歸功於user20140268這些問題已得到解決。
鉻確實固定的問題,但是Firefox和Opera仍然出現異常行爲; /我將修改我的問題來擺脫鉻問題 – Ilja 2013-03-09 18:34:04
你好,謝謝爲你的幫助,沒想到,Firefox將不支持MP3文件,我會給你一個堆棧溢出讓我這樣的賞金;)) – Ilja 2013-03-09 23:43:33
不客氣:) – user20140268 2013-03-10 08:42:22