Saya sedang menulis sambungan Chrome dan cuba menindih Apabila saya mengakses kaedah Adakah saya perlu menggunakan pemesejan antara background.html dan popup.html untuk mengakses DOM halaman web? Saya ingin melakukan semuanya dalam popup.html dan juga menggunakan jQuery jika boleh. document.body.insertBefore
daripada popup.html, ia akan menimpa document.body.insertBefore
方法时,它会覆盖弹出窗口上的
Beberapa contoh menggunakan suntikan program untuk menambah skrip pop timbul yang berkembang pada div ini.
Manifest V3
Jangan lupa untuk menambah kebenaran dalam manifest.json, lihat jawapan lain untuk mendapatkan maklumat lanjut.
Panggilan ringkas:
Nota: Dalam Chrome 91 atau lebih awal,
func:
应为function:
.Panggil dengan parameter dan terima keputusan
Memerlukan Chrome 92 semasa ia melaksanakan
args
.Contoh 1:
Contoh 2:
Senarai V2
Panggilan ringkas:
Panggil dengan parameter dan terima keputusan:
Contoh ini menggunakan fungsi
inContent
untuk menukar kod secara automatik kepada rentetan, faedahnya ialah IDE boleh menggunakan penyerlahan sintaks dan linting. Kelemahan yang jelas ialah penyemak imbas membuang masa menghuraikan kod, tetapi biasanya kurang daripada 1 milisaat jadi ia boleh diabaikan.Masalah: Halaman sambungan (pop timbul, pilihan, halaman latar belakang dalam MV2, dll.) diasingkan daripada halaman web, mereka mempunyai DOM sendiri,
document
、window 和chrome-extension://
URL.Penyelesaian: Gunakan Skrip Kandungan untuk mengakses halaman web atau berinteraksi dengan kandungannya.
Kaedah 1. Deklaratif
manifest.json:
Ia akan berjalan sekali apabila halaman dimuatkan. Selepas itu, gunakan Mesej.
Amaran! Ia tidak boleh menghantar elemen DOM, Peta, Set, ArrayBuffers, kelas, fungsi, dsb. Ia hanya boleh menghantar objek dan jenis ringkas yang serasi dengan JSON, jadi anda perlu mengekstrak data yang diperlukan secara manual dan menghantarnya sebagai tatasusunan atau objek mudah.
Kaedah 2. Pengaturcaraan
ManifestV3:
Dalam skrip sambungan (seperti tetingkap pop timbul), skrip/fungsi kandungan boleh disuntik ke dalam tab mengikut keperluan.
Hasil kaedah ini ialah ungkapan terakhir dalam skrip kandungan dan oleh itu boleh digunakan untuk mengekstrak data. Data mestilah serasi dengan JSON, lihat amaran di atas.
Diperlukandalam
权限
manifest.json:“脚本”
- wajib"activeTab"
- Senario yang ideal, sesuai untuk bertindak balas kepada tindakan pengguna (biasanya mengklik ikon sambungan dalam bar alat). Jangan tunjukkan sebarang amaran kebenaran semasa memasang sambungan.Jika ideal tidak mungkin, tambahkan tapak yang dibenarkan pada
host_permissions
dalam manifes.json:“*://*.example.com/”
dan mana-mana laman web lain yang anda mahukan.""
或"*://*/"
Ini akan meletakkan sambungan anda dalam baris gilir semakan yang sangat perlahan dalam Kedai Web Chrome kerana kebenaran hos yang luas.Perbezaan antara ManifestV2 dan di atas:
权限
.