ポップアップ
ドキュメント:
Add a Popup | Chrome for Developers [Official]
参考:
How to open popup window on event? – Stack Overflow
スクリプト
ドキュメント:
chrome.scripting | Chrome for Developers [公式]
リポジトリ:
api-samples/scripting – GoogleChrome/chrome-extensions-samples – GitHub
参考:
JS と CSS をサクッと書いて、特定の URL で動かして、他人に共有したい | teramotodaiki
サンドボックス
拡張機能から注入したスクリプトでは通常、ユーザー入力などの危険なコード実行は禁止されている。サンドボックスはそのようなケースで安全にコード実行が可能なように隔離されたコード実行環境を作成するものである。メインページとのやりとりは、postMessage
関数を介した通信のみが可能となっている。
サンドボックスが必要なコード実行
eval
関数Function
オブジェクトの作成Function.apply
メソッドの実行
サンドボックスの制限
- DOM API の制限
- クロスオリジンの制限
- ネイティブ API の制限
- Extension API は使用不可
ドキュメント:
サンドボックス | Chrome for Developers [公式]
リポジトリ:
api-samples/sandbox – GoogleChrome/chrome-extensions-samples – GitHub
メッセージ
ドキュメント:
メッセージ受け渡し | Chrome for Developers [公式]
Declarative Net Request API
ドキュメント:
chrome.declarativeNetRequest | Chrome for Developers [公式]
参考:
How to redirect an exact URL in Manifest V3 without matching nested pages? – Stack Overflow
Web Navigation API
ドキュメント:
chrome.webNavigation API | Chrome for Developers [公式]
Debugger API
ドキュメント:
chrome.debugger API | Chrome for Developers [公式]
レスポンスに変更を加えたい
参考:
modify document html before load with Chrome extension, using document_start – Stack Overflow
html parsing creating object instead of source code – Stack Overflow
リダイレクトをブロックしたい
参考:
How to block web request but stay on page that initiated navigation with MV3 – Stack Overflow
block redirect with Manifest V3 – Stack Overflow
サンプル
GoogleChrome/chrome-extensions-samples: Chrome Extensions Samples – GitHub