我有一个加载在其他人页面上的iframe。当iframe关闭时,我想刷新父页面。
我目前使用类似于此处描述的哈希黑客攻击:Close iframe cross domain
这个方法虽然在IE9中存在安全问题,所以我仍然在寻找更好的解决方案或IE解决方法..
有什么想法吗?
答案 0 :(得分:8)
我认为唯一可靠的方法是在现代浏览器中使用postMessage进行跨域通信,尚未对其进行测试但是检查此代码部分...当然这仅在“别人的页面”以某种方式更改时才有效
所以,如果您的页面在内,请执行以下操作:
var parent = window.parent;
if (parent && parent.postMessage) {
parent.postMessage("closed");
}
在其他人页面上:
window.onmessage = function(event) {
if (event.data === "closed") {
location.reload();
}
};