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

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

DDD
Lepaskan: 2024-10-26 04:32:02
asal
345 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan