1

私は最初のChrome拡張機能を書いていますが、現在開いているタブに変数を渡し、それを使用してDOMを操作したいと思います。

私の拡張機能にはボタンがあり、クリックすると次のコードが実行されます。

chrome.tabs.getSelected(null, function(tab) {
 chrome.tabs.executeScript(tab.id, {
  file: 'tabscript.js'
 });
});

これは正常に機能しますが、開いたタブで使用できるように変数をtabscript.jsに渡す方法がわかりません。

4

1 に答える 1

4

変数を何に渡す必要がありますか? スクリプトで呼び出している関数はありますか?

ページの Javascript にはアクセスできず、DOM だけにアクセスできることに注意してください。

特定のパラメーターで呼び出す必要がある特定の関数がある場合は、コンテンツ スクリプトメッセージ パッシングを調査する必要があります。

コンテンツ スクリプトは、すべてのページ ロード (または選択したページ) で実行できます。メッセージ パッシングを使用して、拡張ボタンからコンテンツ スクリプトの関数にメッセージを送信します。

または、元のアイデアに近い方法で、実行時に呼び出す関数を次のように作成できます。

chrome.tabs.getSelected(null, function(tab) {
 chrome.tabs.executeScript(tab.id, {
  code: 'function(){ ...... your code built dynamically ......}'
 });
});
于 2010-04-23T18:52:24.873 に答える