2012-04-23 90 views
3

我有一個加載在別人的頁面上的iframe。當iframe關閉時,我想刷新父頁面。關閉iframe並刷新父跨域

我目前採用什麼這裏所描述的哈希破解類似於:Close iframe cross domain

此方法使在IE9的安全問題了,所以我還在尋找更好的解決方案或解決方法IE ..

任何想法?

相關:IFrame on unload refresh parent page

+1

同樣的問題在這裏http://stackoverflow.com/q/3800309/1157322 – svassr 2012-07-09 15:03:21

回答

6

我認爲唯一可靠的方法是在現代瀏覽器的跨域通信使用postMessage的,沒有測試過,但檢查了這部分代碼了......當然,這只是工作,如果「別人的頁面」是有點多變

所以裏面,如果你的頁面你這樣做:

var parent = window.parent; 
if (parent && parent.postMessage) { 
    parent.postMessage("closed"); 
} 

其他人頁面上:

window.onmessage = function(event) { 
    if (event.data === "closed") { 
    location.reload(); 
    } 
};