首页 > 解决方案 > 从 iframe 访问父窗口

问题描述

我有一个托管在我的 Tomcat 上的 Angular 应用程序(我无法修改它的源代码,但我可以随意配置 Tomcat)。此应用程序允许在 iframe 中显示我的代码(这是同一文件夹中的简单 JSP!)。我需要做什么才能从“我的”iframe(即window.parent)访问此应用程序?

现在,当我从 iframe 尝试 window.parent 时,我得到了(在 Firefox 中):

Permission denied to access property Symbol.toPrimitive on cross-origin object

在浏览器控制台中。由于它都托管在同一个 Tomcat 上,它是同一个来源,那么我该怎么做才能告诉浏览器允许从 iframe 访问父窗口?

已经在 web.xml 中尝试过:

<filter>
    <filter-name>httpHeaderSecurity</filter-name>
    <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
    <init-param>
        <param-name>antiClickJackingOption</param-name>
        <param-value>SAMEORIGIN</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>httpHeaderSecurity</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

我究竟做错了什么?

提前致谢!

标签: javascriptiframecross-domainx-frame-options

解决方案


推荐阅读