0
內這聽起來含糊添加到文檔,但我已經遭受了最後6小時試圖解決這個「簡單」的壯舉:動態的「嵌入」型元素從XUL
- 我有代碼運行在一個Firefox插件內
- 用戶觸發需要播放一些音頻的操作,但這裏的問題是 - 該音頻是動態的(取決於用戶的輸入),並且正從某個服務器獲取。
- 我選擇動態地將一個
embed
元素插入到一個新的tabbrowser
的文檔中,其src
指向服務器資源,但完全失敗才能使其工作!我未能嵌入元素!
有趣的是,它從正常的JavaScript函數範圍(html文檔中的script
標記內的代碼)運行良好,但在使用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);
}