3

我有一个带有 iFrame 的页面。我想更改父母的网址。
目前,我正在使用以下代码:

window.parent.location.href = window.parent.location.href + '?myParam=myValue'  

它适用于 IE 10,但不适用于 Firefox 或 Chrome。
在 Firefox 上,我收到以下错误:

错误:访问属性“href”的权限被拒绝

页面和 iFrame 共享主机,但是在不同的端口上,所以根据同源策略它不会起作用。
我的问题是:为什么它可以在 IE 中工作以及如何使它在其他浏览器中工作?

编辑:以下工作正常:

window.parent.location.href = 'addressGoesHere.com?myParam=myValue';  

在火狐浏览器中。

4

1 回答 1

2

尝试这个

window.parent.location='?myParam=myValue';

我尝试并发现:您不能直接(获取它的值)或间接(通过设置它的相对位置 - 它将成为相对于页面设置位置 - 唯一的例外是设置散列(#123) )。

所以实际答案:

它可以在 IE 中运行,因为它不符合标准

第二部分 - 绝对没有办法。您应该尝试不同的通信方法 - 例如使用跨域 postmessage ( http://html5demos.com/postmessage2 ) 或使用其他跨域通信方法,例如http://easyxdm.net/wp

于 2013-03-26T10:22:21.067 回答