動的要素toolbarbutton
とmenuitem
要素を生成するツールバー拡張機能があります。これらのアイテムは通常、次のように構成されます。
tempMenuItem = document.createElement("menuitem");
tempMenuItem.setAttribute("label", "Some Label");
tempMenuItem.setAttribute("tooltiptext", "Some Tooltip");
tempMenuItem.setAttribute("oncommand", "myObject.someFunction()");
このコードは問題なく機能しますが、拡張機能を公式のアドオンリポジトリに送信すると、次の警告が表示されます。
setAttributeを使用して設定されているon*属性
警告:脆弱性を防ぐために、イベントハンドラー(「onclick」や「onhover」など)は常にaddEventListenerを使用して定義する必要があります。
これらの動的要素に適切なコマンドハンドラーを設定するには、他にどのようにすればよいですか?私はこれが単なる警告であることを知っていますが、私は強迫神経症のプログラマーなので、可能な限りクリーンな方法で物事をやりたいと思っています。これを行うためのより良い方法はありますか?