Mencipta sambungan Chrome boleh memperkasakan anda dengan keupayaan untuk mengubah suai gelagat halaman web. Satu keperluan sedemikian ialah untuk mendapatkan semula pembolehubah global daripada halaman, seperti pembolehubah GLOBALS dalam mesej Gmail.
Malangnya, skrip kandungan dijalankan dalam persekitaran terpencil, menghalang akses terus ke halaman sifat tetingkap seperti GLOBALS. Fungsi .load() jQuery gagal mendapatkannya, mengakibatkan ReferenceErrors. Ini berlaku walaupun dapat mengakses GLOBALS melalui konsol alat pembangun.
Untuk merapatkan jurang komunikasi ini, anda boleh menggunakan salah satu daripada dua kaedah:
1. Suntikan Skrip:
Suntikan elemen skrip baharu ke dalam konteks halaman. Skrip ini boleh mendapatkan semula data yang diingini dan menyerahkannya kembali kepada skrip kandungan.
2. Pendengar Acara:
Gunakan pendengar acara untuk menghantar data antara halaman dan skrip kandungan. Skrip kandungan boleh mendengar acara tersuai yang dicetuskan oleh skrip halaman dengan maklumat yang dikehendaki.
Skrip Kandungan (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 (Skrip Disuntik):
<code class="js">setTimeout(function() { document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS })); }, 0);</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah Global dalam Mesej Gmail Menggunakan Sambungan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!