Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh mengakses pembolehubah global dalam Gmail daripada sambungan Chrome?

Bagaimanakah saya boleh mengakses pembolehubah global dalam Gmail daripada sambungan Chrome?

DDD
DDDasal
2024-10-26 04:32:02279semak imbas

How can I access global variables in Gmail from a Chrome extension?

Mengakses Pembolehubah Global dalam Gmail daripada Sambungan Chrome

Menggunakan sambungan Gmail selalunya memerlukan akses kepada pembolehubah global daripada mesej semasa yang sedang dilihat. Walau bagaimanapun, ini boleh menimbulkan cabaran kerana persekitaran skrip kandungan yang terpencil.

Untuk mendapatkan semula pembolehubah GLOBALS daripada halaman web Gmail, anda tidak boleh menggunakan jQuery.load() sahaja. Sebaliknya, anda mesti sama ada menyuntik elemen atau gunakan pendengar acara untuk pemindahan data.

Menyuntik Elemen Skrip

Dengan menyuntik elemen, anda boleh memuatkan skrip luaran ke dalam konteks halaman. Skrip ini kemudiannya boleh mengakses pembolehubah global dan menghantarnya kembali ke sambungan. Contohnya, dalam skrip kandungan anda (contentscript.js):

<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();
};</code>

Skrip yang disuntik (script.js) kemudiannya akan mengandungi:

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

Menggunakan Pendengar Acara

Sebagai alternatif, anda boleh menggunakan pendengar acara untuk menghantar data antara halaman dan sambungan. Skrip kandungan akan mendengar peristiwa yang dicetuskan oleh skrip yang disuntik, seperti berikut:

<code class="javascript">// Event listener in contentscript.js
document.addEventListener('RW759_connectExtension', function(e) {
    // e.detail contains the transferred data (GLOBALS)
    alert(e.detail);
});</code>

Ingat untuk memasukkan script.js dalam bahagian web_accessible_resources pada fail manifes anda untuk membenarkan Chrome memuatkannya.

Amalan Terbaik

Pastikan logik anda dalam skrip kandungan pada tahap minimum dan fokus pada pengendalian data. Ini membantu melindungi sambungan anda daripada pengubahsuaian atau pepijat dalam kod halaman web dan memberi anda akses kepada ciri dipertingkat yang disediakan oleh skrip kandungan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengakses pembolehubah global dalam Gmail daripada sambungan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn