Bacaan yang Disarankan:
Cara memecahkan masalah pemuatan yang lambat dari iframe JS
Dalam proyek ini, Anda sering perlu menambahkan iframes secara dinamis dan kemudian melakukan operasi terkait pada iframes yang ditambahkan. Seringkali, kode selanjutnya telah dieksekusi sebelum iframe ditambahkan, jadi beberapa hal yang Anda tulis tidak ditampilkan sama sekali. Pada saat ini, kita harus mempertimbangkan apakah kita bisa menunggu sampai iframe dimuat sebelum melakukan operasi selanjutnya. Tentu saja, berbagai browser telah lama mempertimbangkannya untuk kita, lihat di bawah:
yaitu browser
Setiap simpul elem di IE akan memiliki acara OnReadyStateChange. Acara ini dipicu setiap kali konten Elem dikirim untuk berubah. Misalnya, konten dimuat dan dimuat setelah konten dimuat. Konten dimuat dengan sukses akan dipicu. Fungsi ini juga perlu dikoordinasikan dengan ReadyState. Ini adalah properti yang dimiliki oleh masing -masing elem pada IE untuk melihat status setiap pemicu.
// Pertama -tama tambahkan onreadystatechangeiframe.attachevent ("onreadystatechange", function () {// acara ini juga akan dipicu ketika konten tidak dimuat, jadi kita perlu menilai negara // kadang -kadang terasa dan siap. " "Loaded") {// Kode dapat dieksekusi di sini dan itu berarti bahwa pemuatan telah berhasil diselesaikan // acara iframe.detachevent ("onreadystatechange", arguments.callee); // Ini adalah fungsi callback}});Browser lain (Firefox, Opera, Chrome, dll.)
Di browser non -e lainnya, Firefox, Opera, Chrome, dan IFRAMES lainnya akan memiliki acara Onload. Selama acara ini dipicu, itu berarti bahwa konten nama telah dimuat.
iframe.addeventListener ("muat", function () {// Kode dapat dieksekusi di sini dan itu berarti bahwa beban telah berhasil diselesaikan. This.removeEventListener ("Load", Arguments.call, false); // Ini adalah fungsi callback}, false);Mari kita ringkas
if (iframe.attachevent) {iframe.attachevent ("onreadystateChange", function () {// acara ini juga akan dipicu ketika konten tidak dimuat, jadi kita perlu menilai negara // terkadang near dan readystate akan lewati. "dimuat") {// Kode ini dapat dieksekusi di sini dan itu berarti bahwa pemuatan telah berhasil diselesaikan // acara iframe.detachevent ("onreadystatechange", argumen.callee); // Ini adalah fungsi callback}});} {iframe.addeventenerer ("load", load}) {else {iframe.addeventenerer ("load", load}); berhasil diselesaikan.Catatan: Fungsi di atas harus ditempatkan setelah iframe adalah ovendchild ke tubuh, jika tidak tidak akan dipicu.
Konten di atas adalah metode JS untuk menentukan apakah iframe berhasil dimuat oleh editor. Saya harap ini akan membantu semua orang!