首页 > 文章列表 > 动态赋值iframe的src加载速度慢的原因及解决方案

动态赋值iframe的src加载速度慢的原因及解决方案

337 2025-03-15

为什么动态赋值iframe的src会比直接设置src加载速度慢?

iframe动态赋值src与直接设置src的性能差异

网页开发中,iframe常用于嵌入外部网页内容。然而,开发者发现动态赋值iframe src属性比直接设置src属性加载速度慢。这是为什么呢?

浏览器渲染页面时,通常自上而下依次渲染。直接在src属性中写入URL,浏览器会将iframe与其他页面元素一起进行初始渲染,因此加载看似同步。

但动态修改src属性则不同。它会触发iframe重新加载和渲染。由于页面其他部分已渲染完成,iframe的加载过程就显得格外突出,造成速度慢的错觉。 此外,动态加载可能导致页面分段渲染,而非整体同步渲染,进一步加剧这种感觉。

为了优化用户体验,可在iframe内容加载时显示加载动画,加载完成后再隐藏。 以下代码示例演示了这种方法:

iframeLoad() {
  this.loading = true;
  const iframe = this.$refs.iframe;
  // 兼容IE和非IE浏览器
  iframe.onload = () => {
    this.loading = false;
  };
}

通过加载动画,有效改善动态加载iframe时的用户体验。

来源:1741917747