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时的用户体验。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END