この基本構造を使用して、拡張機能が有効になっている場合にすべてのサイトに JavaScript ファイルを追加できます。
方法 1
web-retina-emulator.js
挿入されたページのグローバル変数または関数を使用しない個々のファイルの場合、この方法を使用することをお勧めします
アドバンテージ:
Chrome API の特定のセクションにアクセスできます*
引き戻す
注入されたページの JavaScript 変数と関数を使用することはできません。
デモンストレーション
マニフェスト.json
{
"name":"Custom Script",
"description":"http://stackoverflow.com/questions/14165629/add-javascript-file-to-all-sites-i-browse",
"version":"1",
"manifest_version":2,
"content_scripts":[{
"matches":["<all_urls>"],
"js":["web-retina-emulator.js"],
}
]
}
方法 2
ページのJavaScriptメソッドまたは変数が必要な場合web-retina-emulator.js
は、このアプローチを使用してください
アドバンテージ:
ページのjavascript変数とメソッドにアクセスできます
引き戻す
chrome API* は使用できません。
デモンストレーション
マニフェスト.json
{
"name":"Custom Script",
"description":"http://stackoverflow.com/questions/14165629/add-javascript-file-to-all-sites-i-browse",
"version":"1",
"manifest_version":2,
"content_scripts":[{
"matches":["<all_urls>"],
"js":["myscript.js"],
}
]
}
myscript.js
var script = document.createElement('script'); // Create a Script Tag
script.src = chrome.extension.getURL("web-retina-emulator.js"); //Fetch the content script
script.onload = function () {
this.parentNode.removeChild(this); //Remove script after script executed
};
(document.head || document.documentElement).appendChild(script); //ADD script tag
//to head or Html element
方法 3
コードをページにプログラムで挿入すると、パターンに一致するすべてのページに JavaScript または CSS コードを挿入する必要がない場合に便利です。たとえば、ユーザーがブラウザー アクションのアイコンをクリックしたときにのみスクリプトを実行する場合などです。
デモンストレーション
background.html
chrome.tabs.executeScript(null,
{file:"web-retina-emulator.js"});
マニフェスト.json
マニフェスト ファイルに権限が設定されていることを確認する
"permissions": [
"tabs", "http://*/*"
],
参考文献