iframe加载提示连接已重置,附现有代码,请问是什么原因如何解决?
iframe加载提示「连接已重置」解决思路
- 首先排查目标站点的跨域嵌套限制
绝大多数站点默认会设置X-Frame-Options响应头为DENY或者SAMEORIGIN,禁止非同源站点通过iframe嵌套自身服务,触发该限制时部分场景会直接返回连接重置报错,你测试的目标站点大概率属于这种情况,该限制由目标站点服务端配置,前端无绕过方案。 - 排查本地网络连通性
直接在浏览器地址栏访问iframe指向的目标地址,确认是否可以正常打开,如果直接访问也报连接重置,说明是当前网络无法连通目标站点,可能是域名解析错误、网络防火墙拦截、目标站点本身服务不可用,对应排查DNS配置、防火墙规则、确认目标站点运行状态即可。 - 排查代码配置问题
确认src地址无拼写错误、协议头和当前页面匹配(当前页面为http时嵌套https站点会触发混合内容限制),也可给iframe补充宽高属性避免异常渲染问题,参考修改后的代码示例:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> </head> <body> <iframe src='https://www.wallgle.com' width="100%" height="800px"></iframe> </body> </html>
- 排查浏览器安全策略限制
部分浏览器的隐私插件、安全防护功能会主动拦截iframe嵌套的第三方站点请求,可尝试禁用浏览器插件、用无痕模式访问测试,确认是否是浏览器侧拦截导致的报错。
内容的提问来源于stack exchange,提问作者user17135778
相关产品推荐
相关产品推荐

