ホームページ > 記事 > ウェブフロントエンド > Chrome 拡張機能を使用して Gmail メッセージ内のグローバル変数にアクセスするにはどうすればよいですか?
Chrome 拡張機能を作成すると、Web ページの動作を変更できるようになります。そのようなニーズの 1 つは、Gmail メッセージの GLOBALS 変数など、ページからグローバル変数を取得することです。
残念ながら、コンテンツ スクリプトは隔離された環境で実行され、ページの直接アクセスを妨げます。 GLOBALS などのウィンドウ プロパティ。 jQuery の .load() 関数はその取得に失敗し、ReferenceErrors が発生します。この問題は、開発者ツールのコンソールから GLOBALS にアクセスできるにもかかわらず発生します。
この通信ギャップを埋めるには、次の 2 つの方法のいずれかを使用できます。
1.スクリプトの挿入:
新しいスクリプト要素をページ コンテキストに挿入します。このスクリプトは、必要なデータを取得してコンテンツ スクリプトに戻すことができます。
2.イベント リスナー:
イベント リスナーを使用して、ページとコンテンツ スクリプトの間でデータを渡します。コンテンツ スクリプトは、必要な情報を含むページ スクリプトによって起動されるカスタム イベントをリッスンできます。
コンテンツ スクリプト (run_at: "document_end"):
<code class="js">var s = document.createElement('script'); s.src = chrome.extension.getURL('script.js'); (document.head || document.documentElement).appendChild(s); s.onload = function() { s.remove(); };</code>
Script.js (挿入されたスクリプト):
<code class="js">setTimeout(function() { document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS })); }, 0);</code>
以上がChrome 拡張機能を使用して Gmail メッセージ内のグローバル変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。