2010-03-16 73 views
0

我在项目中添加了自动完成插件(http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/,版本1.1和1.0.2),以将“设备”添加到“项目”中。在一个新的项目上,这个插件很棒,从数据库返回的数据返回FAST,您可以快速滚动列表,并可以选择一个项目并转到下一个项目。自动完成和IE7 - 整体页面增长缓慢,缓慢?

一旦我有一个项目建立与它的设备,我去添加设备,表现是非常糟糕的。从服务器获取数据列表需要4-5秒,滚动列表非常痛苦,并且光标需要几秒钟才能确定某个项目。名单消失后重新绘制页面很慢。

这是发生在IE7的最新版本。 FF3和Chrome都很好,非常活泼。

页面大小约为40K。

我在想这是IE7 Javascript引擎的一个问题,或者是这个插件和IE7的边缘情况;它在FF3 +中工作得足够快。

我将不胜感激任何想法,解决方案,已知的问题,或想法如何更具体地固定下来。

我很想发布示例代码,但这是一个公司的应用程序,我不是多么有用,它会被认为服务器端的一块无法显示;即:你不能把它拉下来,并测试它像一个自包含的代码片..

在此先感谢!

Chris

+0

你试过玩插件的'cacheLength'和'max'选项吗?如果您的后端缓冲区很大,那么缓存10(默认)可能会导致缓慢下降 – jitter 2010-03-16 15:00:03

+0

是的,我有一个25k-35k行的数据库表,我正在从中抽取。所以,答案是肯定的,返回数据的数量可能会很大。我还没有尝试过这两种选择 - 会做。谢谢! – wchrisjohnson 2010-03-16 22:17:34

+0

好吧,我已经用这两种方法玩了很少的成功。基本上(IE7)我输入3-4个字符;需要5秒以上才能获得结果;我滚动或上下拖动结果,CPU挂钩率达到99%。在compat模式下的IE8约为cpu的50%。仍然在寻找答案或方向来搜索... – wchrisjohnson 2010-03-17 00:39:20

回答

0

请参阅上面的注释。基本的道理是IE7的渲染引擎是古老的,并且跟不上Chrome,Safari等。不要在所有地方使用livequery,并期望在IE7中获得良好的性能。