微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

window.location-JavaScript-无法正常工作

奇怪的问题.我正在使用jQuery .postMessage()从安全的< iframe>发送消息.给父母具体来说,我正在发送一个URL,并已确认父级正在接收该URL-但是,当我尝试将window.location设置为该URL时,没有任何反应.

发送的网址:

http://mydomain.com/shop/507870?nav=ln-474#/shop/507870?gnrefine=1*COLOR_FAMILY*brown%5E1*CLSR_TYP*Lace-Up%5E

实际网址:

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正在获得未定义的值.

关于为什么在使用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上使用.因此,由于某种原因,它不会加载任何带有哈希值的网址.

解决方法:

您的代码的这一部分无效:

var loginConfig = {
    redirectURL = ""
}

必须是这样的:

var loginConfig = {
    redirectURL: ""
}

如果这导致了错误,导致无法使用所需的属性正确声明loginConfig,则可能部分解释了某些意外行为.您当然应该在浏览器错误日志中查看并查看它是否报告任何错误.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐