如何解决为什么我们的网站仅在 chrome 浏览器上没有出现在 iframe 中?
我们想在标签中打开我们的网站,但最新的 chrome 浏览器不会发生这种情况。我为此尝试了各种解决方案,但仍然无法在 chrome 中打开我们的网站。当我在另一个浏览器登录页面中运行代码时,我们可以登录,但在 chrome 登录页面中打开但无法登录。浏览器控制台中没有例外。
有知道的请回复
这是我设置 cookie 的过滤器
@Configuration
public class IFrameFilter extends GenericFilterBean {
@Override
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,servletexception {
((HttpServletResponse) response).setHeader("Access-Control-Allow-Origin","*");
((HttpServletResponse) response).setHeader("Set-Cookie","locale=de; HttpOnly; SameSite=None; Secure");
chain.doFilter(request,response);
}
}
//Html code base
<!DOCTYPE html>
<html>
<body>
<h1>The iframe element</h1>
<iframe src="https://devs.smart360.biz/" title="W3Schools Free Online Web Tutorials"
style="width:500px;height:500px;">
</iframe>
</body>
</html>
解决方法
您似乎使用 Spring Security 并设置了 X-Frame-Options: SAMEORIGIN
响应标头。
您可以使用 ALLOW_FROM uri
而不是 SAMEORIGIN
将可以嵌入您网站的 URI 列入白名单。或者完全删除此标头以将其从任何地方列入白名单。
阅读https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options了解更多详情。
,Chrome(和其他浏览器)发生了许多变化regarding cookies and iframe.
变化的基础是现在有一个“SameSite”cookie 政策,其中Only cookies set as SameSite=None; Secure will be available in third-party contexts,provided they are being accessed from secure connections.
同样在 safari 中,第三方框架必须在 cookie 可访问之前请求访问 storage API。
Firefox 使用分区存储方法,因此框架将正常运行,除非您将应用程序作为新窗口打开,然后 cookie 存储可能会或可能不会跟随,具体取决于新窗口的创建方式。
Cookie Status 是跟踪第三方 cookie 在不同浏览器中的工作方式以及您应该更改哪些内容以使其工作的绝佳资源。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。