ユーザーが特定の URL を右クリックした場合にのみ表示される単一のメニュー項目を Firefox のコンテキスト メニューに追加したいと考えています。URLをテストする機能があります。「popupshowing」イベントにサブスクライブしてこれを行っていました。
var item = document.getElementById("custom-menu-id");
if (item) // show only for specific links
item.hidden = gContextMenu.onLink && acceptableURL(gContextMenu.linkURL);
アドオン SDK を使用しようとしていますが、gContextMenu にアクセスできなくなりました。ドキュメントのこのスニペットは機能しません。
var cm = require("sdk/context-menu");
cm.Item({
label: "Copy name to clipboard",
context: cm.URLContext("http://scholar.google*"),
contentScript: 'self.on("context", function(node) {return true; });'
});
ここで node.URL のようなものを取得してテストすることは可能だと思いますが、うまくいきません。SDK から gContextMenu にアクセスする方法や、ノードなどから URL を取得する方法を誰かが提案できるかもしれません。