ในโครงการคุณมักจะต้องเพิ่ม iframes แบบไดนามิกจากนั้นทำการดำเนินการที่เกี่ยวข้องกับ iframes ที่เพิ่มเข้ามา บางครั้งคุณจะพบเหตุผลว่าทำไม iframe โหลดช้ามากและจะแก้ปัญหาได้อย่างไร? มาเรียนรู้บทความนี้ด้วยคำถามนี้และค้นหาคำตอบ!
aaa.html
<html> <head> <title> AAA </title> </head> <body> <iframe src = "bbb.html" name = bbb> </iframe> <อินพุต type = "ปุ่ม" แสดงค่าควบคุมข้อความ language = "JavaScript"> Alert (bbb.document.all.txt.value); </script> </body> </html>
bbb.html
<html> <head> <title> bb </title> </head> <body> <ประเภทอินพุต = ชื่อข้อความ = txt value = "guoguo"> </body> </html>
คำถาม:
ดำเนินการ AAA.html ด้านบนและพบว่ารหัสไม่ได้พิมพ์โดยตรง แต่การคลิกปุ่มสามารถสร้างค่าได้
วิเคราะห์:
เมื่อโหลดหน้าเว็บเมื่อคุณพบ iframe คุณจะกระโดดข้ามมันโหลดเนื้อหาต่อไปนี้แล้วกลับมาเพื่อโหลด iframe แน่นอนว่ามันสามารถเข้าใจได้ว่าเมื่อคุณพบ iframe คุณเปิดเธรดเพื่อโหลด iframe อย่างไรก็ตามเนื่องจากใช้เวลานานในการเกี่ยวข้องกับการดำเนินการ IO ใหม่การโหลดของ iframe ยังคงช้ากว่าการดำเนินการรหัส JS ที่ด้านล่างของหน้าดังนั้นปัญหาข้างต้นเกิดขึ้น
สารละลาย:
เพิ่มความล่าช้าในรหัส JS (ความล่าช้าเฉพาะอาจขึ้นอยู่กับประสบการณ์ส่วนตัว) เพื่อให้คุณสามารถมั่นใจได้ว่าวัตถุใน iframe จะได้รับตามปกติ
<script language = "javascript"> settimeout ("Alert (bbb.document.all.txt.value)", 1500); </script>สรุป: เมื่อ IFRAME รวมอยู่ในหน้าเว็บหากเราต้องการใช้งานวัตถุใน iFrame ผ่าน JS เราต้องรอจนกว่า iFrame จะโหลดก่อนทำงานมิฉะนั้นเราจะไม่ได้รับวัตถุที่ต้องการ
ด้านบนเป็นวิธีแก้ปัญหาการโหลด js iframe ช้าๆแนะนำให้คุณรู้จักโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ ในเวลาเดียวกันฉันขอขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!