因此,一个域上有一个包含来自不同域的iframe的父页面。
我正在尝试使用相对路径从iframe导航父页面,该路径将从父级获取基本URL。
我试过
<script type="text/javascript">
function navigateParent(targetPage) {
var url = window.parent.location.href;
if (url.indexOf('.') > -1) {
url = url.substring(0, url.lastIndexOf('/') + 1);
}
window.parent.location = url + targetPage;
}
</script>
但这会产生错误:
不安全的JavaScript尝试使用URL访问框架...我的父网址...使用网址...我的iframe网址....域,协议和端口必须匹配。
有没有办法做到这一点?即指定一些跨域权限或其他东西。
答案 0 :(得分:2)
跨域保护现在在服务器上强制执行浏览器端以保护用户(在一些跨域注入之后)。
要调用函数或更改由其他域提供的框架/窗口中的属性,您可以
在服务器上指定CORS headers(这告诉浏览器跨域通信正常)
首选:使用postMessage在窗口和框架之间进行通信