7

Chrome拡張機能を開発していますが、問題があります。Chromeのコンテキストメニューに項目を追加しました。メニュー項目がクリックされた場合にポップアップウィンドウを開きたいと思います。私のコードは次のようになります。

function popup(url) {
window.open(url, "window", "width=600,height=400,status=yes,scrollbars=yes,resizable=yes");
}

chrome.contextMenus.create({"title": "Tumblr", "contexts":["page","selection","link","editable","image","video","audio"], "onclick": popup('http://example.com')});

しかし、このコードは私が望むようには機能しません。ポップアップウィンドウは、コンテキストアイテムをクリックした後ではなく、Chrome拡張機能の設定で拡張機能を更新した後に表示されます。

前もって感謝します!

4

1 に答える 1

5
chrome.contextMenus.create({... "onclick": popup('http://example.com')})

関数をすぐに呼び出し、popupポップアップを開きます。関数への参照を渡す必要があります。コードを機能させるには、関数呼び出しを関数でラップします。

chrome.contextMenus.create({
    "title": "Tumblr",
    "contexts": ["page", "selection", "link", "editable", "image", "video", "audio"],
    "onclick": function() {
        popup('http://example.com');
    }
});

window.open()ポップアップを作成するために使用できます。別の方法(それが存在することを知らせるためだけに)はchrome.windows.createです。

于 2012-07-31T15:04:43.300 に答える