Аудио теги HTML 5 не отображаются в GreaseMonkey - PullRequest
0 голосов
/ 29 августа 2010

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

// ==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, и он выглядит просто отлично.

Мысли о том, что я могу делать здесь не так? Поскольку ссылка для загрузки действительно загружает запрошенный файл, так как это волна, и, поскольку я думаю, что установил правильный тип, я не понимаю, почему это не отображается.

1 Ответ

0 голосов
/ 30 августа 2010

Это может быть не ваш скрипт, а 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 - оба файла нормально воспроизводятся на моем локальном проигрывателе.

Вот ссылка на систему ошибок Firefox для поиска или сообщения об ошибках .

...