如何访问XUL Overlay的DOM

时间:2011-09-12 04:09:52

标签: javascript firefox dom firefox-addon

在我的Firefox Addon的overlay.xul中,我可以在javascript中访问它的DOM吗?我无法弄清楚如何。

提前致谢。

1 个答案:

答案 0 :(得分:3)

叠加层与它应用的文档的DOM合并,它没有自己的DOM。因此,您不访问“覆盖”的DOM,您访问您覆盖的文档的DOM。这是以通常的方式完成的,例如通过document.getElementById()。但是你必须考虑一件事:在文档加载之前永远不要访问DOM,这会导致各种问题(比如其他覆盖无法应用)。因此,如果您的叠加层包含一个脚本,您可以写:

window.addEventListener("load", function() {
  // Window finished loading, now we can do something
  var button = document.getElementById("my-extension-button");
  button.style.backgroundColor = "green";
}, false)