有关X-Frame-Options的介绍:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options
报错背景:写了一个html,用js打开目标网页
报错信息:chrome浏览器,refused to display ‘xxxthis is a url’ in a frame because it set ‘X-Frame-Options’ to ‘sameorigin’;
ie11浏览器,此内容不能显示在一个框架中,为了帮助保护在此网站中输入的信息的安全,此内容的发布者不允许在框架中显示该信息;
firefox浏览器,load denied by X-Frame-Options: xxxurl does not permit cross-origin framing.
报错原因:浏览器安全设置里设置了X-Frame-Options响应头,而sameorigin是同源设置,使得网页不能跨域访问
修改方案:
查到的几种方案(我这里因为有登陆界面,所以需要先登陆目标网站,然后再刷新原html网页)
Google Chrome浏览器跨域设置
1.google chrome快捷方式 – 属性 --目标
在原内容后添加 --args --disable-web-security --user-data-dir --allow-file-access-from-files,然后从快捷方式打开谷歌浏览器
2.在iis的http响应标头,添加响应头
名称:Access-Control-Allow-Origin
值:*
IE11浏览器跨域设置
打开【Internet选项】–> 【安全】 -->【Internet】–>【自定义级别】–>【其他】
设置【跨域浏览窗口和框架】和【通过域访问数据源】为启用
如果站点为【本地intranet】,则选择对应选项,点击【自定义安全级别】,其他设置方法同上