2010-08-29 58 views
0

我正在製作我的第一個GM腳本,以便用HTML 5音頻標籤替換http://www.freesound.org上的Flash預覽,併爲搜索結果添加下載鏈接。我有後者工作正常,但我不能讓音頻標籤顯示在Firefox 3.5.9。這是我的腳本:GreaseMonkey中未顯示HTML 5音頻標籤

// ==UserScript== 
// @name   FreeSound HTML 5 Preview 
// @namespace  http://thewordnerd.info 
// @description Replace Flash-based sound previews on freesound.org with audio tags and add quick download links 
// @include http://freesound.org/* 
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js 
// ==/UserScript== 

$(document).ready(function() { 
    $("embed").remove(); 
    $(".samplelist").each(function(index) { 
    sampleNo = $(this).find("a:first").attr("href").split("?")[1].split("=")[1]; 
    userName = $(this).find("a:eq(1)").html(); 
    title = $(this).find("a:first").html().replace(/ /g, "_"); 
    url = "/download/"+sampleNo+"/"+sampleNo+"_"+userName+"_"+title; 
    $(this).find("script").replaceWith("<audio src='"+url+"' controls='controls' type='audio/wave'/>"); 
    //$(this).find("audio").removeAttr("tabindex"); 
    $(this).append("<a href='"+url+"'>Download</a>"); 
    }); 
}); 

我可以看到在Firebug中的元素,它似乎很好。

有關我在這裏可能會做錯的想法?由於下載鏈接確實下載了所需的文件,因爲這是一個浪潮,因爲我認爲我已經設置了正確的類型,所以我不知道爲什麼這不顯示。

回答

0

它可能不是您的腳本,如freesound.org站點/服務器。

當我運行腳本的修改版本,音頻控制所有出現的一瞬間恢復到錯誤顯示,像這樣前:
alt text

火狐報告MEDIA_ERR_SRC_NOT_SUPPORTED爲我檢查的文件。

這段代碼保存到您的機器,然後用Firefox的運行它:

<html> 
<head> 
    <title>Audio File test</title> 
</head> 
<body> 
<audio id="aud1" controls="true" type="audio/ogg" 
src="http://www.freesound.org/download/7521/7521_abinadimeza_Rainfall.ogg">xxx</audio> 

<audio id="aud2" controls="true" type="audio/ogg" 
src="http://developer.mozilla.org/@api/deki/files/2926/=AudioTest_(1).ogg">xxx</audio> 
</body> 
<script type="text/javascript"> 
    window.addEventListener ("load", ErrorReport, false); 

    function ErrorReport (evt) 
    { 
     console.log (document.getElementById ("aud1").error); 
     console.log (document.getElementById ("aud2").error); 
    } 
</script> 
</html> 


你會看到來自Mozilla的已知好文件正常工作,但freesound.org沒有。這可能是Firefox中的一個錯誤/限制 - 這兩個文件在我的本地播放器上都能正常播放。

這是link to the Firefox bug system, to search for or report bugs