0

特定のウェブページが読み込まれるとすぐにiframeを挿入するChrome拡張機能を開発しています。iframeは、ローカルホストでホストされているフォーム(form.php)をロードします。フォームに入力されたすべての情報はscript.js、ローカルホストで処理されます。PHPファイルには次のものがあります。

<script src="script.js" type="text/javascript"></script>

phpファイルに送信ボタンがあります。クリックすると、次のようなメッセージとデータを拡張機能のバックグラウンドページに渡します。

chrome.extension.sendRequest({'name':'email', value:email});

しかし、次のようなエラーが発生します。

Uncaught TypeError:未定義のメソッド'sendRequest'を呼び出すことができません

私が欲しいのは、送信ボタンがクリックされると、処理されるすべてのデータがChrome拡張機能のバックグラウンドページに送信されることです。

それを行うのに役立つ方法を教えてください。

4

1 に答える 1

0

私があなたの言うことを正しく理解しているなら、あなたはIframeからクローム拡張機能の背景ページにメッセージを送りたいと思うでしょう。

これを行う1つの方法は、Webページにコンテンツスクリプトを挿入し、メッセージをリッスンさせることです。

window.addEventListener('message'、....)

Iframeでは、データの準備ができたら、

parent.postMessage

親のコンテンツスクリプトにメッセージを送信します。コンテンツスクリプトは、を使用してメッセージをbgに転送できます

chrome.extension.sendRequest

もう1つの方法は、設定してIframe自体にコンテンツスクリプトを挿入することです。

all_frames:true

拡張マニフェストで。

于 2012-07-28T07:44:38.820 に答える