Bagaimana Cara Membuat Halaman Berinteraksi dengan Halaman Latar Belakang?

Ekstensi Chrome saya memiliki halaman latar belakang yang menjalankan skrip pada tab saat ini.

Skrip mengubah elemen pada tab saat ini dengan menambahkan kode ke elemen yang ada untuk memanggil fungsi 'myFunction' yang ditentukan di halaman latar belakang ketika peristiwa 'onClick' terjadi. Masalahnya adalah pengecualian diberikan karena 'myFunction' tidak ditentukan pada tab saat ini.

apa cara terbaik untuk mengaktifkan interaksi ini? untuk mengaktifkan halaman saat ini untuk pergi ke fungsi yang ditentukan pada halaman latar belakang?

Terima kasih sebelumnya!


person yossharel    schedule 29.09.2013    source sumber


Jawaban (2)


Halaman latar belakang dijalankan dalam konteks independen, sehingga fungsinya tidak dapat langsung dijalankan di tab yang sedang dibuka.

Yang Anda perlukan hanyalah skrip konten yang dijalankan di semua tab, yang kemudian berkomunikasi dengan laman latar belakang, menggunakan mekanisme penyampaian pesan.

Tanpa informasi lebih lanjut, sulit untuk membantu Anda lebih lanjut.

person Métoule    schedule 29.09.2013

Seperti yang disebutkan dalam jawaban pertama, "Tanpa informasi lebih lanjut, sulit untuk membantu Anda lebih banyak.", tetapi untuk pertanyaan kedua sepertinya yang Anda perlukan adalah referensi ke fungsi yang ditentukan di halaman latar belakang Anda. Hal ini dapat dicapai dengan fungsi getBackgroundPage. Kodenya terlihat seperti ini;

var bgPage = chrome.extension.getBackgroundPage();
bgPage.myFunction();
person shrunyan    schedule 30.09.2013