0

ページにiframeをロードするブラウザのブックマークレットがあります。次に、その iframe が文字列を親ウィンドウに戻すことができるようにする必要があります。子ページには次の機能があります。

function post(m){
parent.postMessage(m,'*');
}

子ページ (iframe にロードされたページ) が http 上にある限り、これは正常に機能します。しかし、https の場合、postMessage は機能しません。これに関するドキュメント、またはそれを回避する方法を見つけることができませんでした。

何か案は?

編集:

これは FF と Chrome の両方で発生します (IE は試していません)。明確にするために: iframe はロードされますが、postMessage が実行されないだけです。HTTP ページでは、すべて正常に動作します。文字列を受け取るために使用しているコードは次のとおりです。

function listener(event){
if ( event.origin !== "http://www.mysite.com" )
return

if (event.data=="string1"){function1();}
if (event.data=="string2"){function2();}
}

if (window.addEventListener){
addEventListener("message", listener, false)
} else {
attachEvent("onmessage", listener)
}
4

1 に答える 1