ถึงแม้ว่าคุณsrc = encodeURI
ควรจะทำงานฉันก็จะได้วิธีที่แตกต่าง:
var iframe = document.createElement('iframe');
var html = '<body>Foo</body>';
document.body.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
เนื่องจากสิ่งนี้ไม่มีข้อ จำกัด โดเมน x และทำได้อย่างสมบูรณ์ผ่านจุดiframe
จับคุณจึงสามารถเข้าถึงและจัดการเนื้อหาของเฟรมได้ในภายหลัง สิ่งที่คุณต้องทำให้แน่ใจคือเนื้อหานั้นถูกแสดงผลซึ่งจะ (ขึ้นอยู่กับประเภทของเบราว์เซอร์) เริ่มต้นในระหว่าง / หลังจากคำสั่ง. write ถูกใช้ - แต่จะไม่ทำอย่างที่ไม่จำเป็นเมื่อclose()
ถูกเรียก
วิธีที่ใช้ร่วมกันได้ 100% ในการโทรกลับอาจเป็นวิธีนี้:
<html><body onload="parent.myCallbackFunc(this.window)"></body></html>
อย่างไรก็ตาม Iframes มีเหตุการณ์ onload นี่คือวิธีการเข้าถึง HTML ภายในเป็น DOM (js):
iframe.onload = function() {
var div=iframe.contentWindow.document.getElementById('mydiv');
};