4

今天在我的计算机上更新了 Chrome 87 和 Microsoft Edge 87,现在我在尝试通过 iFrame 查看嵌入在我们的 Intranet 中的网页时看到了奇怪的行为。嵌入式网页受 https 保护,在 Chrome 86 上运行良好。

发生的行为是,当使用基于 chromium 的浏览器通过 iFrame 加载网页时,该页面将正常加载。如果单击 iFrame 页面中的链接,iFrame 中的内容就会消失。如果您将鼠标悬停在 iFrame 的内容上,当您将鼠标悬停在页面上必须存在链接的位置时,您可以看到鼠标指针变成一只手,即使您看不到任何内容。

此外,当这种行为发生并且 iFrame 内的内容不可见时,如果您打开 Chrome 开发者工具然后检查 iFrame 元素,它会重新出现。

很好奇是否有人看到过这种行为,或者对为什么使用基于 chromium 87 的 Web 浏览器查看的 iFrame 中的内容不可见有任何想法。

谢谢!

4

3 回答 3

0
  • 根据chromium Bug 网站,在以下版本中观察到 Iframe 空白问题,您从 chrome 88 开始得到修复。

     Issue observed in:
     Chrome 86: 86.0.4240.198
     Chrome Beta: 87.0.4280.60
    
     Issue *not* observed in:
     Chrome Dev: 88.0.4315.5
     Chrome Canary: 88.0.4324.2
     Chromium latest
    

  • 如果您不关心安全性,您可以转到 chrome flag 并启用 experimental web platform flag 直到 Chrome 88 正式发布。

chrome://flags/#enable-experimental-web-platform-features

  • 如果您可以控制 iframe 页面内容,则可以在 iframe 页面内添加以下标签。

    <canvas id="canvas" width="1px" height="1px"></canvas>

页面加载后,执行以下 Javascript:

      window.setTimeout(function() {
          var c=document.getElementById("canvas");
          var ctx=c.getContext("2d");
          ctx.moveTo(0,0);
          ctx.lineTo(1,1);
          ctx.stroke();
      }, 200);
于 2020-12-17T06:11:41.530 回答
0

我确认 Chrome DEV 实际版本可以工作......(这是一个答案吗?!?)对于那些在商业中使用 Chrome 的人(作为我们的客人......)这是一个大问题,也是一个 DEV 版本......可以在某些情况下可以接受...

Adriano Mari - 普拉托多数据

于 2020-11-26T14:46:28.230 回答
0

正如其他用户所提到的,这似乎是 Chromium 的渲染错误。

虽然可能不是最优雅的解决方案,但在 iframe 加载后强制页面重绘可能是最好的解决方案,直到 Google 解决了他们的问题。

$(function() { // Temporary workaround for Chromium iframe load issue
    $('iframe').on('load', function() {
        $(this).hide(0).show(0);
    })
}) 
于 2020-12-14T20:47:10.180 回答