1

ウェブページからGoogle Chromeの拡張機能で変数を読み取る必要があります。 ウェブページからGoogle変数を読む

は、Firefoxの拡張機能で例えば私はこれをやっている:

XPCNativeWrapper.unwrap(contentWindow).myExtensionName_varName = "value"; 

を次に任意のWebページ上で私はalert(myExtensionName_varName);をすれば、私は正しい値を取得します。

クロムエクステンションで同じことを達成するにはどうすればいいですか?

答えて

1

Chromeのすべては、セキュリティと競合を避けるためにサンドボックスされているため、ウェブサイトのスクリプトで作成された変数に拡張機能から直接アクセスすることはできません。

コンテンツスクリプトは、独立した世界と呼ばれる特別な環境で実行されます。彼らは注入されたページのDOMにアクセスできますが、ページで作成されたJavaScript変数や関数にはアクセスできません。実行中のページで他のJavaScriptが実行されていないかのように、各コンテンツスクリプトを探します。逆も同様です。ページ上で実行されているJavaScriptは、関数を呼び出すことも、コンテンツスクリプトによって定義された変数にアクセスすることもできません。 [source]

ウェブページや拡張コンテンツのスクリプトにスクリプト間で通信する方法については、セクションhere「を埋め込みページとの通信」をご覧ください。

+0

私の質問を確認してください、私は拡張からすべてのウェブサイトのスクリプトを読んでみたくない、私は反対をしたい。 – user979390

+0

私はそれが両方の方法で動作することを理解しています。ウェブサイトスクリプトは拡張変数を直接読み込み、操作することはできません。あなたはイベントを介して通信する必要があります - 「埋め込みページとの通信」セクションをチェックしてください。 –

+0

それは重要ではありません、あなたはcontentscriptはあなたの内線番号と直接通信することはできません。 http://code.google.com/chrome/extensions/messaging.html –

関連する問題