javascript - 使用 javascript 加载 XUL 资源

标签 javascript firefox-addon xul

如何使用 javascript 加载 XUL 资源?我试图在 mdn 上搜索但找不到任何示例。

这里的动机是我想在没有 id 属性的元素上创建一个覆盖层。

例如,我有以下 xul 文件:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<button label="Test button" oncommand="alert('Hello World!');"/>

</window>

我想使用 javascript 加载这个 xul 文件,捕获按钮并将其附加到另一个元素。

帮助将不胜感激。

最佳答案

您应该使用常规的 DOM API。

您仍然可以将元素覆盖在可能覆盖的地方,然后在适当的地方.appendChild()它。

或者完全使用 DOM API 创建它,这可能是更好更快的方法:

// XUL namespace is implied in XUL overlay scripts.
var btn = document.createElement("button");
btn.setAttribute("label", "Test Button");
btn.addEventListener("command", function() { alert("Hello World!"); }, false);
someElement.appendChild(btn);

关于javascript - 使用 javascript 加载 XUL 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18214945/

相关文章:

css - 如何在 firefox 插件中创建垂直标签?

javascript - 使用 OS.File 将 JSON 持久存储在文件中

macos - 这是 Mac OS 上 Firefox 扩展的已知问题吗?

javascript - 使用索引从已排序的多 3 元素数组中删除重复项

javascript - JS 不会出现在带有 HTML 的浏览器中

javascript - 检测滚动元素之间的距离

javascript - 每当下载文件时,如何让 Firefox 调用扩展中的函数?

javascript - 无法使用xul写入文件

xul - 向 Thunderbird 添加自定义控件(扩展)

javascript - Jquery Remove 并没有完全删除元素