我有一个 FireFox 扩展,我试图在加载特定页面时播放(和循环)音频文件。我正在嵌入一个音频标签,如下所示:
开始.js
window.onload = function() {
self.port.on("soundfile", function(soundurl){
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', soundurl);
audioElement.load();
audioElement.addEventListener("load", function() {
audioElement.play();
audioElement.loop();
}, true);
document.body.insertBefore(audioElement, document.body.firstChild);
});
};
并使用我的 main.js 文件传递本地音频文件:
main.js
var pageMod = require("sdk/page-mod");
var self = require("sdk/self");
var soundurl = self.data.url("sample.ogg");
pageMod.PageMod({
include: "pandasarethebe.st",
contentScriptFile: self.data.url("start.js"),
onAttach: function(worker) {
worker.port.emit("soundfile",soundurl);
}
});
我看到网页中插入了音频标签,但它没有播放。
<audio src="resource://jid1-zlxnevw93j6qaa-at-jetpack/sampleapp/data/sample.ogg"></audio>
当我转到浏览器中的实际 src 链接时,文件会播放。有谁知道为什么文件没有播放?