使用来自 iframe 的相对 url 跨域导航 parent.window

Navigate parent.window with a relative url from iframe across domains

本文关键字:导航 parent window url 相对 iframe      更新时间:2023-09-26

所以一个域上有一个父页面,其中包含来自不同域的 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 网址... .域、协议和端口必须匹配。

有什么办法可以做到这一点吗?即指定一些跨域权限或其他东西。

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

要调用函数或更改由另一个域提供服务的框架/窗口中的属性,您可以

  • 在服务器上指定 CORS 标头(这告诉浏览器跨域通信很好)

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