質問

Firefoxのアドオンに取り組んでいますが、現在、menuitemをmenupopup要素に動的に追加する必要があります。基本的にMozilla Developer Centerですべてのアプローチを試しましたが、どれも機能しませんでした。

    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コマンドで中断します。何かアイデアはありますか?

役に立ちましたか?

解決

document.getElementById(" mainDropdown")がnull以外の結果を返していることに100%肯定的ですか?

それを細かく分割して、フォローアップにデバッグコードを追加してみてください:

var dropDown = document.getElementById("mainDropdown");
if(dropDown) {
  alert("dropDown found!");
  dropDown.appendChild(newMenuItem);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top