0

私の問題の簡単な解決策を探しています。ctrl+alt+lmb を押すとスクリプトが起動し、content_scripts を使用してそれを実現できますが、content_scripts には chrome.* へのアクセス権がありません。

助言がありますか?

マニフェスト.json

{
    "manifest_version": 2,
    "version": "1.0",
    "name" : "Incognito Shortcut",
    "content_scripts" : [
        {
           "matches"    : ["*://*/*"],
           "js"         : ["core.js"],
           "run_at"     : "document_end",
           "all_frames" : true
        }
    ],
    "permissions" : [
        "tabs"
    ]
}

core.js

document.addEventListener("click", function(e) {
    if(e.altKey && e.ctrlKey) {
        // do stuff
        e.preventDefault();
    }
}, false);
4

1 に答える 1

0

このような状況での標準的なアプローチは、コンテンツ スクリプトからバックグラウンド ページ (ほとんどの chrome API にアクセスできるページ) にメッセージを渡す必要があるということです。たとえば、コンテンツ スクリプトはバックグラウンド ページにメッセージを送信し、バックグラウンド ページは適切な chrome API を呼び出します。

公式ドキュメントの Content-ScriptsMessage Passingの記事を読めば、簡単に実装できるはずです。

于 2013-10-04T14:54:02.107 に答える