Mengakses Pembolehubah Global dalam Gmail daripada Skrip Kandungan Sambungan Chrome
Pengenalan
Pelanjutan Chrome ialah alatan berkuasa yang boleh mengakses dan meningkatkan kefungsian halaman web. Walau bagaimanapun, mengakses pembolehubah global daripada halaman web dalam skrip kandungan sambungan boleh menjadi mencabar.
Masalah:
Pemaju sambungan mengalami kesukaran untuk mengakses pembolehubah GLOBALS daripada Gmail skrip kandungan. jQuery.load() dan konsol alat pembangun kedua-duanya gagal mendapatkan semula data yang dikehendaki, mengakibatkan mesej ralat.
Penyelesaian:
Skrip kandungan dijalankan dalam persekitaran terpencil yang berasingan daripada halaman web. Untuk mengakses sifat global, seseorang mesti menggunakan salah satu daripada pendekatan berikut:
Kaedah Pendengar Acara
Dalam contentscript.js ("run_at" manifes: "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>
Dalam script.js, yang diletakkan dalam direktori sambungan dan disuntik ke dalam halaman:
<code class="javascript">setTimeout(function() { // Send GLOBALS variable from Gmail to the extension. document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS })); }, 0);</code>
Pertimbangan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Global daripada Gmail Dalam Skrip Kandungan Sambungan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!