ホームページ >ウェブフロントエンド >jsチュートリアル >Chrome 拡張機能のコンテンツ スクリプト内で Gmail からグローバル変数にアクセスするにはどうすればよいですか?
Chrome 拡張機能コンテンツ スクリプトから Gmail のグローバル変数にアクセスする
概要
Chrome 拡張機能は次のとおりです。 Web ページにアクセスしてその機能を拡張できる強力なツール。ただし、拡張機能コンテンツ スクリプト内の Web ページからグローバル変数にアクセスするのは難しい場合があります。
問題:
拡張機能開発者は、Gmail の GLOBALS 変数にアクセスする際に問題が発生しています。コンテンツスクリプト。 jQuery.load() と開発者ツールのコンソールはどちらも必要なデータの取得に失敗し、エラー メッセージが表示されます。
解決策:
コンテンツ スクリプトはWeb ページから分離された隔離された環境。グローバル プロパティにアクセスするには、次のいずれかのアプローチを採用する必要があります。
イベント リスナー メソッド
contentscript.js内 (マニフェストの "run_at": "document_end"):
<code class="javascript">var s = document.createElement('script'); s.src = chrome.extension.getURL('script.js'); (document.head||document.documentElement).appendChild(s); s.onload = function() { s.remove(); }; // Event listener document.addEventListener('RW759_connectExtension', function(e) { // e.detail contains the transferred data. alert(e.detail); });</code>
script.js、拡張機能ディレクトリに配置され、ページに挿入されます:
<code class="javascript">setTimeout(function() { // Send GLOBALS variable from Gmail to the extension. document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS })); }, 0);</code>
考慮事項:
以上がChrome 拡張機能のコンテンツ スクリプト内で Gmail からグローバル変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。