ฉันกำลังพยายามสร้างpostMessage
ตัวอย่างงานเล็กน้อย...
- ใน IE10
- ระหว่างหน้าต่าง / แท็บ (เทียบกับ iframes)
- ข้ามต้นกำเนิด
ลบเงื่อนไขใด ๆ เหล่านี้ออกและสิ่งต่างๆก็ใช้ได้ดี :-)
แต่เท่าที่ฉันสามารถบอกได้ว่าระหว่างหน้าต่างpostMessage
ดูเหมือนจะทำงานใน IE10 เท่านั้นเมื่อทั้งสองหน้าต่างแชร์จุดเริ่มต้น (ในความเป็นจริง - และแปลก - พฤติกรรมนั้นอนุญาตมากกว่านั้นเล็กน้อย: สองต้นกำเนิดที่แตกต่างกันที่แบ่งปันโฮสต์ดูเหมือนจะทำงานได้เช่นกัน)
นี่เป็นข้อบกพร่องที่มีการบันทึกไว้หรือไม่ วิธีแก้ปัญหาหรือคำแนะนำอื่น ๆ ?
(หมายเหตุ: คำถามนี้เกี่ยวข้องกับปัญหา แต่คำตอบคือเกี่ยวกับ IE8 และ IE9 ไม่ใช่ 10)
รายละเอียดเพิ่มเติม + ตัวอย่าง ...
หน้าตัวเรียกใช้การสาธิต
<!DOCTYPE html>
<html>
<script>
window.addEventListener("message", function(e){
console.log("Received message: ", e);
}, false);
</script>
<button onclick="window.open('http://jsbin.com/ameguj/1');">
Open new window
</button>
</html>
เปิดตัวการสาธิตหน้า
<!DOCTYPE html>
<html>
<script>
window.opener.postMessage("Ahoy!", "*");
</script>
</html>
ใช้งานได้ที่: http://jsbin.com/ahuzir/1 - เนื่องจากทั้งสองเพจโฮสต์ที่ต้นทางเดียวกัน (jsbin.com) แต่ย้ายหน้าที่สองไปที่อื่นแล้วมันล้มเหลวใน IE10