我有2页,page1.html(mypage)和page2.html(外部),page1.html正在使用iframe加载page2.html。 page2.html基本上有用户信息,它包含菜单,表格。有一个注销函数,代码如下
$('#inetLogoutId').click(function(event) {
var logoutMsg = "Are you sure you want to log out?";
dialogConfirm(logoutMsg, function() {
top.document.location.href = path + "/logout";
})
});
由于Uncaught DOMException: Blocked a frame with origin "https://example.com" from accessing a cross-origin frame.
,注销无法正常工作,如果将注销功能修改为window.top.location.href
该怎么办?这两者之间的主要区别是什么。
谢谢
答案 0 :(得分:3)
当iframe位于不同的域名时,您无法访问iframe的父级。
虽然你可以用另一种方式解决这个问题: http://madskristensen.net/post/iframe-cross-domain-javascript-calls
答案 1 :(得分:1)
这是因为同源策略。您已将所有文件保存在同一网站或主机上。同源策略阻止访问跨源。
答案 2 :(得分:0)
我们必须使用window.top.location.href = path + "/logout";