tka*_*ane 2 javascript browser performance jquery google-chrome
我有几百个项目列表,我需要定期ajax更新和显示在移动设备(主要是移动wekbkit浏览器).我更容易生成整个列表服务器端并更新用户的屏幕innerHTML
.该列表主要是图片缩略图.我不希望屏幕闪烁太多或者对他们的小型移动CPU造成太大的拖累.我的问题是:在更新<ul>
列表,insertBefore
+客户端排序或innerHTML
整个列表的情况下,哪些表现更好?
最佳答案是:双向编写并在目标浏览器上对其进行分析.
但是,在我之前的实验中,我发现在进行大量更新时,innerHTML
显然比通过DOM界面工作更快.这是有道理的:从根本上说,浏览器会将HTML解析为内部结构并显示结果.这是他们的存在理由,他们为此做了高度优化.相比之下,许多DOM调用需要在JavaScript /浏览器内部接口上进行大量访问,通过API可能适合或不适合浏览器的内部结构.当然,今天的情况与几年前截然不同; DOM更新比以前更常见,速度更快.
但同样,根据您正在做的事情以及您的目标浏览器,这些内容变化很大,因此最好每次创建代表性测试并根据经验进行查看.