Önemsiz bir postMessage
örnek yapmaya çalışıyorum ...
- IE10'da
- pencereler / sekmeler arasında (iframe'lerle karşılaştırıldığında)
- kökenler arasında
Bu koşullardan herhangi birini kaldırırsanız her şey yolunda gider :-)
Ancak anlayabildiğim kadarıyla, pencere arası postMessage
sadece IE10'da her iki pencere de bir orijini paylaştığında çalışıyor gibi görünüyor. (Aslında - ve tuhaf bir şekilde - davranış bundan biraz daha müsamahakar: bir ev sahibini paylaşan iki farklı köken de işe yarıyor gibi görünüyor).
Bu belgelenmiş bir hata mı? Herhangi bir geçici çözüm veya başka bir tavsiye?
(Not: Bu soru konulara değinmektedir, ancak cevabı IE8 ve IE9 hakkındadır - 10 değil)
Daha fazla ayrıntı + örnek ...
başlatıcı sayfası demosu
<!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>
başlatılan sayfa demosu
<!DOCTYPE html>
<html>
<script>
window.opener.postMessage("Ahoy!", "*");
</script>
</html>
Bu şu adreste çalışır: http://jsbin.com/ahuzir/1 - çünkü her iki sayfa da aynı kaynakta barındırılır (jsbin.com). Ancak ikinci sayfayı başka bir yere taşıyın ve IE10'da başarısız olur.