我即将实现一个基于HTML的日志文件查看器。更新量从每秒1-10次更新不等
服务器是基于WebSocket的,也将由我开发——我已经构建了一个基于Fleck的原型,这方面看起来很好
- 除了纯文本字段之外,还有其他智能HTML字段吗我可以用来更新吗
- 你会建议我收集更新并使用修复的更新间隔?我想在服务器中添加更新间隔会更有效,对吧
我是Java Script和HTML 5的新手,所以如果这些问题很琐碎,请不要太苛刻
我即将构建一个类似的应用程序,因此我做了一些尝试,比较了1.)为每个日志行附加DOM元素,2.)为每个记录行附加一个表行,以及3.)使用textarea标记:的性能
http://jsfiddle.net/PBzg5/18/
虽然从查看器中删除所有行对于文本区域来说是最快的,但填充它需要最长的时间。此外,似乎没有比手动连接文本区域更快的方法了。将元素附加到DOM(即每个日志行一个文本元素和一个<br>元素)无疑是最快的,基于表的版本紧随其后。此外,与使用文本区域相比,使用DOM元素可以做更高级的事情,比如为单个单词着色。然而,我还没有测试这对性能的影响。
当你实现你的查看器时,一定要记住,当你试图显示无限数量的行时,浏览器实际上会很快停止。所以,只需在缓冲区中保留一定数量的最新行(就像终端通常做的那样),然后只显示它们。