2013-03-26 38 views
3

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

回答

2

試試這個

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

我嘗試和發現:你不能直接從不同訪問的文件位置(得到它的價值)或間接(通過設置它的相對位置 - 它將成爲相對於頁面設置的位置 - 唯一的例外是設置散列(#123))。

所以實際的答案:

它工作在IE瀏覽器,因爲它不符合standarts

和第二部分 - 是絕對沒有辦法。你應該嘗試不同的溝通方式 - 如使用跨域postmessage(http://html5demos.com/postmessage2)或使用其他跨域通信方法,如http://easyxdm.net/wp

+0

我得到了以下錯誤:錯誤:權限被拒絕訪問屬性'valueOf' – Dido 2013-03-26 10:28:04

+0

我試過了發現:無法直接訪問文檔的位置(通過設置它的值)或間接(通過設置相對位置 - 它將相對於頁面**設置**位置) - 唯一的例外是設置散列(#123 ))。所以實際答案:它在IE中工作,因爲它不符合標準,第二部分 - 絕對沒有辦法。你應該嘗試不同的溝通方式 - 例如使用跨域postmessage(http://html5demos.com/postmessage2)或使用其他跨域通信方法,如http://easyxdm.net/wp/ – 2013-03-26 10:40:45

+0

謝謝,我會與postMessage一起去 – Dido 2013-03-26 10:45:54

相關問題