Chrome 拡張機能をマニフェスト 2 に移行しようとしています。現在のバージョンでは、基本的に 1 つの大きなスクリプト タグである background.html ページを使用しています。それができなくなったので、background.js スクリプトの使用に切り替え、多くの検索と実験を行った後も、外部ファイルからスクリプトを挿入できませんでした。現在のバージョンでは、document.write を使用して、ブラウザーの読み込み時に実行されるスクリプト タグを挿入するだけですが、これを行う方法が今のところ見つかりません。
chrome.tabs.onUpdated.addListener 関数と、XMLHttpRequest オブジェクトを使用してタブ更新ごとにスクリプトを挿入する機能を認識していますが、実行したいスクリプトは、ブラウザーが読み込まれたときにのみ実行する必要があります。
現在のコード (background.html ファイルの script タグ内):
document.write("<script type='text/javascript' src='" + url + "'></script>");
background.js ファイルでは、これにより次のエラーが発生します: スクリプト 'http://www.mydomain.com/script.js' の読み込みを拒否されました。 chrome-extension-resource:".
以下を含むあらゆる種類のコードを試しました。
var s = document.createElement('script');
s.src = chrome.extension.getURL(url);
s.onload = function() {
this.parentNode.removeChild(this);
};
(document.head||document.documentElement).appendChild(s);
しかし、これはローカルスクリプトファイルに対してのみ機能するようですが、外部オンラインファイルをロードする必要があります。