【发布时间】:2012-05-04 06:48:08
【问题描述】:
我有一个 iframe 可以加载到其他人的页面上。当 iframe 关闭时,我想刷新父页面。
我目前采用类似于此处描述的哈希 hack:Close iframe cross domain
这种方法在 IE9 中存在安全问题,所以我仍在寻找更好的解决方案或 IE 解决方法..
有什么想法吗?
【问题讨论】:
标签: javascript html iframe
我有一个 iframe 可以加载到其他人的页面上。当 iframe 关闭时,我想刷新父页面。
我目前采用类似于此处描述的哈希 hack:Close iframe cross domain
这种方法在 IE9 中存在安全问题,所以我仍在寻找更好的解决方案或 IE 解决方法..
有什么想法吗?
【问题讨论】:
标签: javascript html iframe
我认为唯一可靠的方法是在现代浏览器中使用 postMessage 进行跨域通信,尚未对其进行测试,但请检查此代码部分...当然,这仅在“别人的页面”可以更改时才有效
如果你的页面在里面:
var parent = window.parent;
if (parent && parent.postMessage) {
parent.postMessage("closed");
}
在其他人页面上:
window.onmessage = function(event) {
if (event.data === "closed") {
location.reload();
}
};
【讨论】: