使用跨iframe的iframe相对URL导航parent.window

时间:2012-06-12 13:29:52

标签: javascript html

因此,一个域上有一个包含来自不同域的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网址....域,协议和端口必须匹配。

有没有办法做到这一点?即指定一些跨域权限或其他东西。

1 个答案:

答案 0 :(得分:2)

跨域保护现在在服务器上强制执行浏览器端以保护用户(在一些跨域注入之后)。

要调用函数或更改由其他域提供的框架/窗口中的属性,您可以

  • 在服务器上指定CORS headers(这告诉浏览器跨域通信正常)

  • 首选:使用postMessage在窗口和框架之间进行通信