iFrame - 在 Web 应用程序中实现 Iframe 的成本
iFrame - cost of implementing an Iframe in a web application
首先,澄清一下,这个问题不是关于加载页面渲染性能。
我正在开发一个使用SVG和大量javascript的Web应用程序(HTML5,SVG,CSS3和Js)。它到了拖动明显缓慢的地步,我们不得不返回并重写并审查所有现有功能以优化应用程序。
我的一位队友认为,如果我在 iframe 中加载一个功能,Web 应用程序不会产生太大影响,因为浏览器会在单独的线程中处理它,因此现有的 Web 应用程序选项卡不必首当其冲地承受 iframe 内容渲染和更新。要添加,如果需要,iframe 中的内容可以轻松地在div 中呈现。
我的问题是,在处理iframe时,浏览器(当然是最新的和最大的)为了渲染和性能而分配单独的资源是真的吗?对于此问题,应用程序加载不是问题。
我讨厌在这里跳上旧线程,但接受的答案具有误导性。你的朋友是对的:iframe 是有效的沙盒化,因此它们的渲染过程在现代浏览器中是独立的、异步的和多线程的。因此,虽然将应用程序的某些部分分割到 iframe 中不会加速任何 JavaScript 的执行,但它很可能会提高渲染性能,因为它可以分割和简化每个页面组件的 DOM。
作为参考,请查看有关Fastbook的故事,Sencha工程师在几周内将其作为一个晚间项目汇总在一起,只是为了表明Facebook网络应用程序可以得到极大的优化。除此之外,他们还使用 iframe 进行沙盒渲染。
作为旁注,这并不是浏览器应该如何工作。(例如,Chrome团队鼓励人们在需要iframe来提高性能的情况下提交错误。尽管如此,在可预见的未来,对于复杂的应用程序,尤其是那些具有多个"面板"和高重排率的应用程序,这是最佳实践。
保证在同一线程中运行同一域<iframe>
。
无法相互交互,则浏览器只能在不同的线程上运行两个页面。
- 防止Iframe窗体在新窗口中打开
- 如何使用动画实现纸张推车
- 将样式表插入iframe
- 客户端服务器REST API captcha实现
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 如何实现此布局
- 使用jQuery从原始页面内容创建iframe
- Highslide(iframe的侦听器)
- iframe正在添加标签,需要删除它们
- 通过javascript/html访问twitter共享iframe
- 如何在Facebook上的iframe应用程序中使后退按钮返回到上一页
- Meteor忘记了密码的实现
- iFrame - 在 Web 应用程序中实现 Iframe 的成本
- 如何在有或没有Iframe的情况下实现SEO友好的Spotify/Rhapsody/iTunes类界面
- 实现 Porthole 的正确方法是什么.js根据内容高度调整 iframe 的大小
- Facebook喜欢在Firefox中不可点击的按钮iframe实现,可以在其他浏览器中工作
- 使用javascript(dojo或jquery)在iframe中实现Web自动化-点击iframe内的元素
- 在RoR中实现谷歌地图的问题,即使使用iframe也是如此
- 我在客户端和服务器端都实现了xdomain脚本,但在IE9中不断获得'超时等待iframe套接字'警告
- 实现流畅的iFrame导航