8
クロスオリジンのpostMessageはIE10で壊れていますか?
些細なpostMessage例を機能させようとしています... IE10 ウィンドウ/タブ間(対iframe) 起源を超えて これらの条件のいずれかを削除すると、物事はうまくいきます:-) しかし、私の知る限りでは、ウィンドウ間はpostMessage、両方のウィンドウがオリジンを共有している場合にのみIE10で機能するように見えます。(まあ、実際-そして奇妙なことに-振る舞いはそれよりも少し寛容です:ホストを共有する2つの異なるオリジンも機能しているようです)。 これは文書化されたバグですか?回避策やその他のアドバイスはありますか? (注:この質問は問題に触れていますが、答えは10ではなくIE8とIE9についてです) 詳細+例... ランチャーページのデモ <!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)でホストされているためです。しかし、2ページ目を他の場所に移動すると、IE10で失敗します。