奇妙な問題。jQuery を使用してセキュアから親.postMessage()
にメッセージを送信しています。<iframe>
具体的には、私は URL を送信しており、親が URL を受信していることを確認しましたが、window.location
その URL に設定しようとしても何も起こりません。
送信された URL:
http://mydomain.com/shop/507870?nav=ln-474#/shop/507870?gnrefine=1*COLOR_FAMILY*Brown%5E1*CLSR_TYP*Lace-Up%5E
実際の URL:
http://mydomain.com/shop/507870?nav=ln-474#/shop/507870?gnrefine=1*COLOR_FAMILY*Brown%5E1*CLSR_TYP*Lace-Up%5E
それらは一致します。ただし、Chrome で実行すると、次のようconsole.log(loginConfig.redirectURL);
になります。
http://mydomain.com/shop/507870?nav=ln-474#/shop/507870?gnrefine=1*COLOR_FAMILY*Brown%5E1*CLSR_TYP*Lace-Up%5E
undefined
だから、私は価値window.location
を得ていると思いundefined
ます。
を使用すると 2 つの値が得られる理由について何か考えはありconsole.log
ますか?
アップデート
論理:
if (message[1] != "") {
$("#loginDialog").dialog("close");
loginConfig.redirectURL = message[1];
window.location = loginConfig.redirectURL
console.log('message: '+loginConfig.redirectURL);
}
構成オブジェクト:
var loginConfig = {
redirectURL: ""
}
更なるアップデート:
window.location は、ハッシュのない任意の URL で機能します。そのため、何らかの理由で、ハッシュ付きの URL をロードしません。