2010-08-29 3 views
0

Я работаю над своим первым GM-скриптом, чтобы заменить предварительные просмотры Flash на http://www.freesound.org с аудио-тегами HTML 5 и добавить ссылку для загрузки к результатам поиска. У меня последнее работает нормально, но я не могу получить звуковой тег для отображения в Firefox 3.5.9. Вот мой сценарий:HTML 5 звуковых тегов, отсутствующих в GreaseMonkey

// ==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

Firefox 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.

Смежные вопросы