Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Anda Boleh Mengesan Penambahan Elemen DOM dalam Sambungan Penyemak Imbas Walaupun Peristiwa Mutasi Dihentikan?

Bagaimanakah Anda Boleh Mengesan Penambahan Elemen DOM dalam Sambungan Penyemak Imbas Walaupun Peristiwa Mutasi Dihentikan?

Barbara Streisand
Barbara Streisandasal
2024-10-21 08:47:02704semak imbas

How Can You Detect DOM Element Addition in Browser Extensions Despite the Deprecation of Mutation Events?

Memerhati Penambahan Elemen DOM dalam Sambungan Penyemak Imbas

Persekitaran penyemak imbas moden menafikan penggunaan peristiwa mutasi, menjadikannya mencabar untuk mengesan apabila elemen baharu ditambahkan pada DOM dalam senario sambungan penyemak imbas. Untuk menangani isu ini, pendekatan alternatif adalah menggunakan pemantauan berterusan melalui fungsi setInterval().

Pemantauan dengan setInterval()

Sampel kod berikut menunjukkan bagaimana untuk melaksanakan pemantauan berterusan menggunakan setInterval():

<code class="javascript">function checkDOMChange() {
  // Check for any new elements being inserted or modifications.

  // Schedule the next iteration in 100 milliseconds.
  setTimeout(checkDOMChange, 100);
}</code>

Fungsi ini memulakan gelung di mana ia menyemak perubahan DOM dan menjadualkan lelaran seterusnya setiap 100 milisaat. 1/10 daripada selang kedua sepatutnya mencukupi untuk kebanyakan keperluan pemerhatian bukan masa nyata.

Pertimbangan Tambahan

Sementara pendekatan setInterval() menyediakan penyelesaian yang berdaya maju , adalah penting untuk mempertimbangkan potensi kesannya terhadap prestasi. Tinjauan DOM berterusan boleh menggunakan sumber CPU yang ketara, yang membawa kepada ketidakpuasan hati pengguna. Oleh itu, adalah penting untuk menyesuaikan kekerapan pemantauan kepada keperluan khusus sambungan anda.

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengesan Penambahan Elemen DOM dalam Sambungan Penyemak Imbas Walaupun Peristiwa Mutasi Dihentikan?. 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