Javascript 从XUL中向文档动态添加“嵌入”类型元素
这听起来可能很模糊,但我在过去6个小时里一直在尝试解决这个简单的壮举: 我在Firefox插件中运行代码 用户触发一个需要播放一些音频的操作,但这里的问题是——这个音频是动态的,取决于用户的输入,并且是从某个地方的服务器获取的。 我选择动态地将一个嵌入元素插入到一个新tabbrowser的文档中,其src指向服务器资源,但我完全无法做到这一点!我没能嵌入元素! 有趣的是,它在html文档中的脚本标记内的普通javascript函数作用域代码中运行良好,但在使用XUL时所有操作都失败 下面是代码片段Javascript 从XUL中向文档动态添加“嵌入”类型元素,javascript,firefox,xul,Javascript,Firefox,Xul,这听起来可能很模糊,但我在过去6个小时里一直在尝试解决这个简单的壮举: 我在Firefox插件中运行代码 用户触发一个需要播放一些音频的操作,但这里的问题是——这个音频是动态的,取决于用户的输入,并且是从某个地方的服务器获取的。 我选择动态地将一个嵌入元素插入到一个新tabbrowser的文档中,其src指向服务器资源,但我完全无法做到这一点!我没能嵌入元素! 有趣的是,它在html文档中的脚本标记内的普通javascript函数作用域代码中运行良好,但在使用XUL时所有操作都失败 下面是代码片
function loadURL(url)
{
var razorTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab("chrome://razorextension/content/read.html"));
razorTabBrowser.addEventListener("load", function () {
var soundEmbed = razorTabBrowser.contentDocument.createElement("embed");
soundEmbed.setAttribute("src", url);
soundEmbed.setAttribute("hidden", true);
soundEmbed.setAttribute("autostart", true);
soundEmbed.removed = false;
razorTabBrowser.contentDocument.body.appendChild(soundEmbed)
}, true);
}
据我所知,只要是WAV格式,它就可以在远程URL上工作
编辑:
我不记得Firefox支持哪个版本,但我认为您可以使用它,而无需将其添加到文档中