Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengesan Peristiwa Pemuatan Halaman dalam Windows Dibuka dengan Window.open?

Bagaimana untuk Mengesan Peristiwa Pemuatan Halaman dalam Windows Dibuka dengan Window.open?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-24 13:05:31784semak imbas

How to Detect Page Load Events in Windows Opened with Window.open?

Mengesan Peristiwa Pemuatan Halaman dalam Windows Dibuka dengan window.open

Dalam beberapa keadaan, ia menjadi perlu untuk mengesan apabila halaman telah dimuatkan sepenuhnya dalam tetingkap yang dibuat menggunakan kaedah window.open. Walau bagaimanapun, percubaan untuk menangkap acara ini menggunakan $(window.popup).onload tidak terbukti berjaya. Artikel ini menyelidiki teknik alternatif yang membolehkan pembangun memantau peristiwa pemuatan halaman dengan berkesan dalam tetingkap yang dibuka melalui window.open.

Kunci untuk mencapai tugas ini terletak pada penggunaan kaedah addEventListener. Berikut ialah coretan kod yang dikemas kini yang menangani isu ini:

var myPopup = window.open(...);
myPopup.addEventListener('load', myFunction, false);

Kod ini memberikan pendengar acara khusus kepada objek tetingkap, yang kemudian mencetuskan myFunction apabila halaman dalam tetingkap yang dibuka telah selesai dimuatkan.

Memastikan Keserasian dengan IE

Adalah penting untuk ambil perhatian bahawa menyokong Internet Explorer (IE) memerlukan pendekatan yang sedikit berbeza:

myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent'](
  (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false
);

Sintaks lanjutan ini menambah keserasian dengan IE dengan memanfaatkan kedua-dua kaedah addEventListener dan attachEvent.

Walaupun menyokong IE boleh menyusahkan, adalah disyorkan untuk berbuat demikian hanya apabila benar-benar perlu kerana pertimbangan penonton.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan Peristiwa Pemuatan Halaman dalam Windows Dibuka dengan Window.open?. 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