ホームページ  >  記事  >  ウェブフロントエンド  >  Chrome 拡張機能で Gmail のコンテンツ スクリプトからグローバル変数にアクセスする方法

Chrome 拡張機能で Gmail のコンテンツ スクリプトからグローバル変数にアクセスする方法

DDD
DDDオリジナル
2024-10-25 16:46:02786ブラウズ

How to Access Global Variables from Gmail's Content Script in a Chrome Extension?

Gmail コンテンツ スクリプトでのグローバル変数へのアクセス

Chrome 拡張機能を使用して、アクティブな Gmail メッセージの Web ページから GLOBALS 変数を取得するソリューションを探しています。 .

コンテンツ スクリプトの分離

コンテンツ スクリプトは分離された環境で実行され、ページのグローバル変数への直接アクセスを防ぎます。

メッセージ パッシング手法

この分離を克服するには、次のメッセージ パッシング手法を検討してください。

スクリプト要素の挿入

ページの DOM にスクリプト要素を挿入する拡張 URL を使用します:

<code class="javascript">var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);</code>

イベント リスナーの確立

さらに、データ交換用のイベント リスナーを確立します:

<code class="javascript">document.addEventListener('RW759_connectExtension', function(e) {
    alert(e.detail); // Transfer data, e.g., GLOBALS
});</code>

Script.js インジェクション

「script.js」内 (マニフェストの web_accessible_resources に追加):

<code class="javascript">setTimeout(function() {
    document.dispatchEvent(new CustomEvent('RW759_connectExtension', {
        detail: GLOBALS // Send GLOBALS to the extension
    }));
}, 0);</code>

メッセージ パッシングの利点

メッセージ パッシングのアプローチでは、限定的な拡張ロジックを Web ページに公開し、拡張 Chrome API 関数にアクセスできます。

結論

これらの手法を実装することで、効果的に次のことが可能になります。 Chrome 拡張機能のコンテンツ スクリプトから GLOBALS などのグローバル変数にアクセスします。

以上がChrome 拡張機能で Gmail のコンテンツ スクリプトからグローバル変数にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。