1

Chrome 拡張機能を開発するとき、バックグラウンド スクリプトは、特定のサイトで読み込まれたタブ内のコンテンツ スクリプトと通信する必要があります。chrome.tabs.sendRequest を使用せずに通信する方法はありますか?

この機能には、「この拡張機能は閲覧履歴にアクセスできます」と表示される「タブ」権限が必要であり、ユーザーを怖がらせます。

4

2 に答える 2

4

申し訳ありませんが、他の方法はありません。

アップデート

実は方法があります。バックグラウンド ページからコンテンツ スクリプトにデータをプッシュする代わりに、コンテンツ スクリプトからデータをプルできます。これにはパーミッションは必要ありません。

コンテンツ スクリプト:

chrome.extension.sendRequest({cmd: "getData"}, function(response) {
    console.log("data:", response);
});

背景ページ:

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    if(request.cmd == "getData") {
        sendResponse({param1: "value1", param2: "value2"});
    }
});
于 2011-07-25T15:18:42.923 に答える
1

を使用せずにバックグラウンド ページと通信できたとしてもchrome.tabs.sendRequest(実際にはほとんど不可能tabsです)、コンテンツ スクリプトを挿入するためにパーミッションが必要です。

詳細: http://code.google.com/chrome/extensions/content_scripts.html

于 2011-07-25T21:25:01.887 に答える