Javascript XUL Firefox插件中的appendChild中断

Javascript XUL Firefox插件中的appendChild中断,javascript,firefox,firefox-addon,xul,Javascript,Firefox,Firefox Addon,Xul,我正在开发Firefox插件,目前需要将menuitems动态添加到MenuOpup元素。我已经在Mozilla开发者中心尝试了基本上所有的方法,但没有一种有效 function populateDropdown() { var counter = 0; for (var key in services) { var newMenuItem = document.createElementNS("http://www.mozilla.org/keymast

我正在开发Firefox插件,目前需要将menuitems动态添加到MenuOpup元素。我已经在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%肯定该文档。getElementById(“Main下拉菜单”)正在返回非空结果

尝试将其分解为多个部分,然后添加一些调试代码:

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

我认为您不需要使用CreateElements。它已经是一个XUL文档,所以createElement在默认情况下应该只创建一个XUL元素。@Gryllida是的,我认为是这样,或者更一般地说,在一个名称空间中插入标记到另一个名称空间的文档中。