我正在做一个需要相关网站预览的项目。我们已经提出了一些想法,其中两个是使用一个服务来呈现网站并发送回屏幕截图,或者获取网站并将其作为“实时预览”加载到iframes中。
团队确信iframe是更好的选择,因为它们是交互式的,并且允许预览动态视觉效果,但是我有一些性能问题。
只是想知道是否有人可以在这里提供一些见解,而不需要编写一个服务器来获取网站内容并将其转发到网站。该设计将有大约5个图像/iframes,相对较小~300x500像素。加载5个iframe是否类似于在5个选项卡中打开这些站点?
最佳答案
要回答您的问题,是的,这类似于在5个选项卡中打开这些站点。iFrames在内存中构建一个全新的页面,然后将其添加到页面中。
除此之外,iframe还有巨大的安全问题,因为您毫无疑问地接受了提供者代码。使用ajax并在经过一些解析后将代码注入到自己的DOM中总是更好的,但是我意识到有时候选项是有限的。
查看这里提供的performance规格。
我认为上述文章的重点是:
Iframes块加载
重要的是,一旦
可能的。这会导致浏览器的忙指示器停止,让
用户知道页面已完成加载。当onload事件是
延迟,它让用户感觉页面速度较慢。
窗口的onload事件在其所有iframe和all
这些iframe中的资源已完全加载。在狩猎和
Chrome,通过JavaScript动态设置iframe的SRC可以避免
这种阻塞行为。