0

context-menu特定の状況(たとえば、アドオンがユーザーによって無効にされている場合)で、アドオンのすべてのトップレベルアイテムを非アクティブ化したいと思います。
どういうわけか、アイテムを完全に破壊することを除いて、これがどのように行われるのか理解できません。ただし、非アクティブ化とアクティブ化を簡単に切り替えることができる方法を使用したいと思います。
remove-またはdeactivate-メソッドの欠落を回避する方法が必要です。トップレベルではないがサブメニューに属するアイテムの場合、これはメソッドaddItem()removeItem()のを使用して簡単に実行できparentMenuます。


編集:
トップレベルのアイテムにはプロパティがありますparentMenu-それはnullですが。したがって、問題は、context-menu.jsがサブメニューに対してremoveItem / addItemメソッドのみを提供し、トップレベルアイテムのparentNodeに対しては提供しないことであるように思われます。


私はまだcontext-menu-apiのようなものを混乱させています。アイテムのonClickメソッドはありません。代わりに、すべてのアイテムにコンテンツスクリプトが必要なようです(?)
また、アイテムを(最下位に強制されるのではなく)必要な場所に最上位に配置する方法が見つかりませんでした。

4

1 に答える 1

1

月末に出荷される予定のSDKのコンテキストメニューモジュールの今後の変更により、addItem()/ removeItem()を使用できるようになります。コンテキストメニューモジュールのこの書き直された実装は、SDK1.13で出荷されます。現在、この新しいバージョンが利用可能になるまで、プログラムでアイテムを「非アクティブ化」する方法はありません。

于 2013-01-02T23:47:05.353 に答える