优化Internet Explorer

The*_*des 3 html javascript ajax optimization compatibility

作为一名网络开发人员,我注意到我创建的任何内容在所有浏览器中都非常出色,但在Internet Explorer中始终始终存在速度问题.请注意我指的是速度,因为我始终注意它显示并适用于所有浏览器.

是否有任何地方,或有没有人,有关Internet Explorer的良好编程技巧?我的意思是如何做事,因为它或多或少地优化了Internet Explorer.

我的意思是我最新的例子是我从DB(通过AJAX)返回JSON数据,然后我用结果构建页面.来自服务器的响应是最小的,它在aaaaall浏览器中加载即时,但在Internet Explorer中需要5-10秒,具体取决于操作系统和版本.

我迷失了语言,我只是想知道我能做些什么.

示例:http : //msdn.microsoft.com/en-us/library/ms533019(VS.85).aspx http://www.quirksmode.org/dom/innerhtml.html http://blog.dynatrace.com/2009/12/12 /理解,互联网资源管理器中渲染行为/

-theo

Rob*_*sto 7

简短回答:不要在IE中使用像document.createElement("div")这样的DOM方法来创建标记.用字符串构建HTML.

如果必须使用DOM方法,请确保不要多次向页面添加元素.也就是说,创建一个添加了所有内容的主容器,然后作为最后一步调用document.body.appendChild("div")(其中"div"是您的主要容器).这样可以最大限度地减少重新渲染的数量.

  • 我会说这绝对是最好的技巧,适用于所有浏览器,但特别适用于 IE。这意味着您应该使用某种模板工具,而不是在整个过程中手动编码字符串连接。一个很好的工具是 http://code.google.com/closure/templates/ 。它允许您从 javascript 或 java 生成 html。像 smarty、velocity、freemarker 一样工作。模板的输出是一个 js 函数,您传入一个数据对象并返回可用于设置为 innerHTML 的 html。嵌套模板允许对innerHTML 进行一次调用以提高性能和代码重用。 (2认同)