最近加载的XUL文档中的Access元素

时间:2014-02-26 17:46:06

标签: javascript firefox-addon xul

我正在开发Firefox扩展,需要执行以下操作:

  • 加载页面
  • 从此页面获取元素
  • 修改此元素的属性

我想要的代码如下:

gBrowser.loadURI("chrome://myExtension/content/myPage.xul");
let button = content.document.getElementById("myExtension-theButton");
button.setAttribute("oncommand", "myFunction(withParams)");

但是当我运行它时,按钮为空。 (也许loadURI返回得太早,文档还没有完全加载。)

1 个答案:

答案 0 :(得分:1)

添加到那个gBrowser:

gBrowser.addEventListener('DOMContentLoaded', dofunc, false);

function dofunc(e) {
    var win = event.originalTarget.defaultView;
    var doc = win.document;
    if (doc.location == 'chrome://myExtension/content/myPage.xul') {
        let button = content.document.getElementById("myExtension-theButton");
        button.setAttribute("oncommand", "myFunction(withParams)");
        gBrowser.removeEventListener('DOMCOntentLoaded', dofunc, false);
    }
}