You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome 114升级至115后iframe显示空白问题求助

Chrome 115升级后iframe加载空白(请求未发送)的排查方案

针对你遇到的Chrome升级后iframe空白、请求未发送的问题,结合Chrome 115的特性变化,给你几个实用的排查和解决方向:

1. 手动触发iframe的src加载(适配Chrome加载时机调整)

Chrome 115对隐藏元素中的iframe加载逻辑做了调整,初始设置的src如果在元素处于display:none状态时,可能不会触发请求。解决方法是在显示模态框时,重新设置iframe的src:

修改HTML,把原始地址存在data-src属性:

<div class="modal fade loadIframe">
    <iframe id="frame-top-dt" data-src="BASE_PATH/xxx.php?id=ID" width="100%" style="border:0px;height: 100%;"></iframe>
</div>

修改JS,显示时重新赋值src:

$('#click-on-me').click(function() {
    const $iframe = $('#frame-top-dt');
    // 重新设置src触发请求
    $iframe.attr('src', $iframe.data('src'));
    $(".loadIframe").css("display", "block");
})

2. 改用Bootstrap模态框官方API(避免非标准触发问题)

你用的是Bootstrap的modal组件,但直接修改display:block没有触发组件的生命周期事件,Chrome 115对这种非标准触发的元素加载可能有拦截。建议改用官方方法:

$('#click-on-me').click(function() {
    $(".loadIframe").modal('show');
})

// 监听模态框完全显示的事件,再加载iframe
$(".loadIframe").on('shown.bs.modal', function() {
    const $iframe = $('#frame-top-dt');
    $iframe.attr('src', $iframe.data('src'));
})

3. 排查跨源策略限制

Chrome 115加强了跨源嵌入的安全检查,打开开发者工具(F12)查看Console和Network标签:

  • 如果Console有跨域相关报错,检查目标PHP页面的响应头,确保设置了合适的Cross-Origin-Embedder-Policy和Cross-Origin-Opener-Policy,允许当前页面嵌入。
  • Network标签如果没有请求记录,说明请求被浏览器拦截,优先排查安全策略问题。

4. 临时禁用Chrome懒加载特性(排查用)

Chrome 115默认开启了iframe懒加载特性,可能导致隐藏iframe无法加载。可以在地址栏输入chrome://flags/#lazy-frame-loading,将选项设为Disabled,重启Chrome测试。如果问题解决,说明是该特性导致的,后续可以等待Chrome修复或调整代码适配。

内容的提问来源于stack exchange,提问作者An Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 07:18:33