【发布时间】:2011-06-02 04:28:57
【问题描述】:
我有一个相当大的应用程序,在管理前端,加载页面需要几秒钟,因为它必须在显示任何内容之前将所有页面浏览量加载到对象中。解释系统如何工作有点复杂,但我的其他一些问题非常详细地解释了系统。他们所说的与当前系统之间的主要区别在于,当客户第一次查看页面时,客户前端不再将所有页面浏览量加载到对象中 - 它只是将页面浏览量添加到数据库中并在不同步的列表中创建一个对象。 . 简单地说,当客户浏览一个页面时,它不再将所有的浏览量加载到对象中;但管理前端仍然如此。
我最近一直在开发客户前端的一些管理工具,因此如果管理员单击目录中项目的描述,那么右侧列将显示所选项目的统计信息和可用操作。为此,(通过$('action-container').load(bla bla bla);)加载到右侧列的页面必须遍历所有的综合浏览量——这最终意味着所有的综合浏览量如果还没有被加载到对象中。由于某种原因,这加载得非常快。速度上的差异在我的开发网站上只有一秒钟,但实时网站有数千次浏览量,所以差异很大......
所以我的问题是:为什么在使用$(bla).load(bla); 时管理前端加载速度如此之快?我的意思是无论 jQuery 使用什么方法,浏览器不能也使用这种方法并超快地加载页面吗?显然不像现在有人会这样做 - 但我很想知道为什么差异如此之大......这只是我的系统还是浏览器获取页面和jQuery获取速度之间存在重大差异页面?其他人是否也有同样的差异?
【问题讨论】:
-
谢谢。所以我猜其他人也会遇到同样的结果,嗯?
-
我相信最大的改进发生在最慢的系统上,而且看起来更快。该页面功能齐全(这是人们正在等待的)并且在没有所有内容的情况下呈现,而不是等待所有内容然后呈现。等待首屏下方的内容查看首屏上方的内容是愚蠢的。
-
我想我明白你的意思了——浏览器必须等待服务器将页面发回才能呈现任何内容;但对于 jQuery 来说,情况肯定是一样的......否则浏览器可能会呈现在 LoadComplete 事件(在 VB.Net 中)中在最后一刻变得不可见的东西......我想说的是理论上,相同的规则在发送请求/接收响应时应该同时适用于浏览器和 jQuery,因此 jQuery 还应该在告诉浏览器渲染任何内容之前等待页面完成。
-
@Wayne:我刚刚阅读了更新的评论,现在意识到我没有理解你最初的意思。基本上我的问题是问为什么当部分页面本身需要一个如果我直接浏览到它,加载几秒钟。单击目录中的项目时,div 被指示加载统计/操作页面,而不是页面加载。
-
嗯我认为我可能刚刚解决了它。初始时间通常是我在编译应用程序后第一次加载页面。如果我加载一个页面,重新编译应用程序,然后单击页面上的一个项目,大约需要 2 秒才能显示统计信息。我不知道如何解决这个问题,但似乎情况可能如此。这得到了如此多的赞成票这一事实表明,其他人在使用 jQuery 时会体验到同样的速度提升,所以我将把这个问题留给任何人能想到的任何答案。有时间我会进一步调查这个问题。
标签: jquery performance browser load-time