我有一个带有iFrame的页面。我想更改父级的网址。
目前,我使用此代码:从iFrame更改父页面url可在IE中使用,但不能在Firefox和Chrome中使用
window.parent.location.href = window.parent.location.href + '?myParam=myValue'
,并在IE 10,但不是在Firefox或Chrome。
在Firefox我收到以下错误:
Error: Permission denied to access property 'href'
页面和iframe共享主机,但在不同的端口,所以要根据Same origin policy它不会无法正常工作。
我的问题是:为什么它在IE中工作,以及如何使它在其他浏览器中工作?
编辑:下面的作品就好了:
window.parent.location.href = 'addressGoesHere.com?myParam=myValue';
在Mozilla Firefox
。
我得到了以下错误:错误:权限被拒绝访问属性'valueOf' – Dido 2013-03-26 10:28:04
我试过了发现:无法直接访问文档的位置(通过设置它的值)或间接(通过设置相对位置 - 它将相对于页面**设置**位置) - 唯一的例外是设置散列(#123 ))。所以实际答案:它在IE中工作,因为它不符合标准,第二部分 - 绝对没有办法。你应该尝试不同的沟通方式 - 例如使用跨域postmessage(http://html5demos.com/postmessage2)或使用其他跨域通信方法,如http://easyxdm.net/wp/ – 2013-03-26 10:40:45
谢谢,我会与postMessage一起去 – Dido 2013-03-26 10:45:54