25

Chrome拡張機能をいじった後、ページにいるときchrome://extensionsにマニフェストファイルで開始されたバックグラウンドスクリプトが実行され、インターネットを閲覧しているだけであるか、拡張ページ以外の別のページでバックグラウンドスクリプトが実行されないことに気付きました.

これが私が意味することです:

私のマニフェストファイルで:

"background": {
    "scripts": ["jquery-latest.js","background.js"]
  },

background.jsファイルで:

$(document).ready(function(){
    alert("working");
});

簡単なアラート機能を使用して、これが機能するかどうかを確認したところ、ディレクトリalert("working");にいるときにのみ表示されることがわかりました。chrome://extensiongoogle.com などにアクセスする場合は、葉巻はありません。

私の質問は、なぜこれが起こるのですか? 何があっても警告するように変更するにはどうすればよいですか。

4

4 に答える 4

33

バックグラウンド スクリプトは、「Chrome ブラウザーのバックグラウンドで実行されている」と見なす必要があります。
目的の効果 (ページごとにスクリプトを実行する) は、実際にはコンテンツ スクリプトのタスクです。

詳細については、https://developer.chrome.com/extensions/overview.html#archをご覧ください。

于 2013-07-08T20:16:30.433 に答える
4

これは、バックグラウンド ページを使用しているためです。manifest.json を少し変更して、代わりにイベント ページを使用してください。これを追加してみてください。

"background": {
    "scripts": ["jquery-latest.js","background.js"],
    "persistent": false
  },

イベントページの詳細については、https ://developer.chrome.com/extensions/event_pages を確認してください。

于 2015-10-21T07:47:36.653 に答える