Chrome 拡張機能を作成し、popup.html ファイル内のボタンをクリックした直後に、現在の Web ページに popup.html から Web ページの DOM にアクセスするには、background.html と Popup.html の間でメッセージングを使用する必要がありますか?すべてをpopup.htmlで実行し、可能であればjQueryも使用したいと考えています。 P粉2960800762023-10-19 08:17:05 プログラムによるインジェクションを使用して、展開ポップアップ スクリプトをこの div に追加する例をいくつか示します。 忘れずに、manifest.json にアクセス許可を追加してください。詳細については、他の回答を参照してください。 簡単な呼び出し: 注: Chrome 91 以前では、 パラメータを指定して呼び出して結果を受け取る Chrome 92 は 例 1: 例 2: 簡単な呼び出し: パラメータを指定して呼び出し、結果を受け取ります: この例では、 P粉6004020852023-10-19 00:39:30 問題: 拡張ページ (ポップアップ、オプション、MV2 の背景ページなど) が Web ページから分離されており、独自の DOM、 解決策: コンテンツ スクリプト を使用して、Web ページにアクセスするか、そのコンテンツを操作します。
リーリー
メッセージングを使用します。
ManifestV3:
権限 host_permissions "*://*.example.com/" " ManifestV2 と上記の違い:
document.body.insertBefore
メソッドにアクセスすると、現在の Web ページではなくポップアップ上の 全員に返信(2)返信します
リスト V3
func:
は function:
である必要があります。 args
を実装するため、Chrome 92 が必要です。 リスト V2
inContent
関数を使用してコードを文字列に自動的に変換します。この利点は、IDE が構文の強調表示とリンティングを適用できることです。明らかな欠点は、ブラウザがコードの解析に時間を浪費することですが、通常は 1 ミリ秒未満であるため、無視できる程度です。 ドキュメント
、# を持っています。 ##window< code> および chrome-extension:// URL。
Service Worker には DOM/ドキュメント/ウィンドウがまったくないことに注意してください。
コンテンツ スクリプトは、拡張機能ではなく Web ページで実行されます。
方法 1. 宣言的
マニフェスト.json:
:
理想的な状況が不可能な場合は、manifest.json の - 必須;
- ユーザーのアクション (通常はツールバーの拡張機能アイコンをクリック) に応答するのに適した理想的なシナリオ。拡張機能をインストールするときに権限の警告を表示しません。
に許可されたサイトを追加します。
およびその他の任意の Web サイト。
"
"*://*/" これらにより、拡張機能は Chrome ウェブストアの非常に遅いレビュー キューに入れられます。広範なホスト権限。
でWebサイトを指定します。