IE11でのpostMessageが何故か上手く動かない件について
結論:IEはさっさと死滅しろ!!!
親画面から小画面を開いて、
親側は
addEventListener("message", callback関数);
小画面から
window.opener.postMessage("hogehoge", "*");
なんてよくあるパターンだとは思うんだけど、
見事にIEだけ動かなくてなんでじゃーと1日ほど悩んでいたのだけど解決。
aタグを用いてtarget="_blank"で小画面を開くと、何故かpostMessageがリスナーで検知できないのかpostMessageが上手く働かない。
window.opener自体は正しく認識されるのに何故か上手くいかん。
window.opener.location.hrefとか普通に動くし。
なのに!なのに!
なんでpostMessage上手くいかんのよ?
そして情報が少ない。
探しても探しても出てくるのは
「クロスドメインでは動きません」ばっかり。
素直にwindow.openを使うと上手く動きました。
IE11で確認。それより前のバージョンは知らん。やりたくない。
大事なことなので2回言います。
IEはさっさと死滅しろ!!!
以上