我正在开发Firefox插件,目前需要动态向menupopup元素添加菜单项。我基本上已经在Mozilla开发人员中心尝试了所有方法,但没有一个起作用。

    function populateDropdown() {
    var counter = 0;
    for (var key in services) {
        var newMenuItem = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "menuitem");
        newMenuItem.setAttribute("label", services[key]['title'])

        document.getElementById("mainDropdown").appendChild(newMenuItem);
    }
}

此代码在appendChild命令处中断。有什么想法吗?

最佳答案

您是否100%肯定document.getElementById(“mainDropdown”)返回非空结果?

尝试将其分解,并在后续步骤中添加一些调试代码:

var dropDown = document.getElementById("mainDropdown");
if(dropDown) {
  alert("dropDown found!");
  dropDown.appendChild(newMenuItem);
}

关于javascript - XUL Firefox插件中断中的appendChild,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1012722/

10-12 07:04