ページを更新せずにコンテンツ スクリプト を強(qiáng)制的に挿入する唯一の方法は、プログラムによる挿入です。
Chrome の Tag API を使用して、すべてのタグを取得し、そこにコードを挿入できます。 たとえば、バージョン番號をローカル ストレージに保存し、バックグラウンド ページのバージョン番號が古いかどうかを確認(rèn)するたびに (古い場合は)、すべてのアクティブなタグを取得してプログラムなどでコードを挿入できます。拡張機(jī)能が確実に更新されるようにするためのソリューション。すべてのタグを取得するには、次のコードを使用します: そしてコードをすべてのページに挿入します
chrome.tabs.executeScript(tabId, {file: "content_script.js"});
コンテンツのスクリプトを多用する拡張機(jī)能がアップグレード後も適切に動(dòng)作し続け、インストール直後に有効になるようにする方法があります。
これをインストールする方法は、すべてのウィンドウのすべてのタブをループし、一致する URL を持つタブにプログラムでスクリプトを挿入するだけです。
マニフェスト.json:
リーリーこれらの host_permissions は、コンテンツ スクリプトの matches
と同じである必要があります。
背景.js:
リーリーこれはフレームを扱わない単純化された例です。 getAllFrames API を使用して、URL を自分で照合することができます。マッチング パターンのドキュメントを參照してください。
明らかに、これは、manifest.json で宣言された バックグラウンド ページ または イベント ページ スクリプトで行う必要があります。 リーリー
背景.js:リーリー
歴史上の面白い事実http://crbug.com/168263 で修正されました。この手法の例は、この回答の以前のバージョンで見ることができます。