我有一個帶有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