私はこのトピックを調査しましたが、何かはクリックしていません。私は簡単なChrome拡張機能を作成しようとしています。詳細は重要ではありませんが、ユーザーが特定のWebサイト上の特定のボタンをクリックすると、ページは別のURLにリダイレクトされます。私は単に説明のためにダミーのURLを入れました。ここに私のコードは次のとおりです。Chrome拡張機能のコンテンツスクリプトを挿入しようとしていません
manifest.jsonを
{
"manifest_version": 2,
"name": "Blah",
"version": "1.0",
"description": "Blah blah",
"icons": { "16": "icon16.png",
"48": "icon48.png",
"128": "icon128.png" },
"content_scripts": [
{
"matches": ["*://url1.com/*"],
"js": ["contentscript.js"]
}
],
"web_accessible_resources": ["script.js"]
}
contentscript.js(別のスタックオーバーフローの質問でこれを見つけ、ないそれがどのように動作するか全くわから)
var s = document.createElement("script");
s.src = chrome.extension.getURL("script.js");
s.onload = function() {
this.remove();
};
(document.head || document.documentElement).appendChild(s);
script.js
document.getElementById("id1").addEventListener("click", redirect);
function redirect() {
console.log("Testing!"); // This works!
window.location.replace("url2.org");
}
適切なボタンをクリックすると、テキストがコンソールに記録されるため、私はsom何か正しい。しかし、私は実際にスクリプトをページに挿入していないと推測しています。そのため私のページはリダイレクトされません。どんな助けもありがとう!ここで
スクリプトが注入されなかった場合は、あなたはコンソールログを取得しません。だから何か問題がある。 – Xan
また、ページレベルの注入をまったく使用する必要はありません。あなたの 'script.js'コードを' contentscript.js'に入れるだけです。ページレベルの注入は、ここでは不要な[コンテキスト分離](https://developer.chrome.com/extensions/content_scripts#execution-environment)をバイパスするためにのみ必要です。 – Xan