最近发现新版的chrome内核的浏览器(Chrome87.0.4280.88和EDGE87.0.664.66),如果页面中嵌套的iframe进行地址跳转会发生渲染异常。
- 正常渲染
- 异常渲染,嵌套的页面正常加载,元素可以正常交互,只是没有渲染出来。
- 缩放一下窗口即可正常渲染出来
- 测试了个老版本浏览器没有这个问题(Chrome76.0.3809.132)
解决
在iframe加载后重新触发一下渲染
var iframe1 = document.getElementById('iframe1');
iframe1 .addEventListener('load', function() {
iframe1 .style.visibility = 'hidden';
requestAnimationFrame(function(){
iframe1 .style.visibility = 'visible';
});
})