SORU
26 NİSAN 2013, Cuma


Cross-origin IE10 içinde postMessage bozuldu?

postMessage önemsiz bir örnek çalışma yapmaya çalışıyorum...

  • IE10
  • pencereler arasında sekmeleri/(vs iframe)
  • kökenleri arasında

Bu koşullardan biri, ve işler hiç de iyi çalışıyor: -) Kaldır

Ama görebildiğim kadarıyla, arasında-pencere postMessage sadece windows bir kökene zaman IE10 çalışmak için görünür. (Şey, aslında ve tuhaf bir şekilde bu davranışı biraz daha müsamahakar ... ... iki farklı kökenleri bir paylaşımanaçok çalışmak gibi).

Bu belgelenmiş bir hata mı? Herhangi bir geçici çözüm veya başka tavsiye?

(Not: This question konularda dokunur, ama its answer IE8 ve 9 -- 10)


Daha fazla bilgi örnek...

launcher sayfa 13**

<!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 demo

<!DOCTYPE html>
<html>
  <script>
    window.opener.postMessage("Ahoy!", "*");
  </script>
</html>

Bu çalışır: her iki sayfayı aynı orijin ev sahipliğini jsbin.com çünkü 15* --*. Ama ikinci sayfada başka bir yere taşıyın ve IE10 içinde başarısız olur.

CEVAP
1 Mayıs 2013, ÇARŞAMBA


Ben aslında bu cevap mutlaka yanılmışım: aslında IE10 olmuyor.Görünüşe göre insanlar gelecek kuşaklar için yukarı çıkıyorum çok başka nedenlerle bu yararlı bulduk. Orijinal cevap aşağıda:


Belirtmekte fayda: link bu cevap size bağlı Birleşik Devletleri postMessage değil çapraz menşe için ayrı windows IE8 ve 9 -- ancak, orada da yazılı 2009, IE10 önce geldi. IE10 sabit olduğunu bir göstergesi olarak bunu kabul edemezdim.

postMessage kendini, http://caniuse.com/#feat=x-doc-messaging özellikle hala demo ile eşleşme gibi görünüyor IE10, kırık olduğunu gösterir. Çok ilgili bir alıntı içeren this article caniuse sayfa bağlantıları:

8 kısmen çapraz belge destekler Internet Explorer ileti: şu anda iframe, ama yeni windows ile çalışır. Internet Explorer 10 ancak, MessageChannel destek olacak. Firefox şu anda destekler çapraz-belge mesajlaşma, ama MessageChannel.

Bu yüzden en iyi bahis eğer o yok olursa, bu muhtemelen MessageChannel tabanlı bir codepath ve postMessage geri dönüş. Sen IE8/9 destek almak olmaz, ama en azından IE10 ile çalışacağız.

MessageChannelilgili dokümanlar: http://msdn.microsoft.com/en-us/library/windows/apps/hh441303.aspx

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • hytchme

    hytchme

    9 Mart 2014
  • TheXiaxue

    TheXiaxue

    3 AĞUSTOS 2009