4

在使用 IE8 从 REST 服务获取相当大的 Backbone 集合时,我遇到“此页面上的脚本导致 Internet Explorer 运行缓慢”警告消息。

我有大约 4000 个项目的 25 个属性(这是一个 Intranet 应用程序,我做分页客户端)。

所有其他浏览器(IE9 也是)都能完美运行。

当接收到的剩余数组在获取到服务器后映射到模型集合时,会出现警告。

出现此消息是因为 IE8的操作限制约为 500 万次,当它到达时会显示一条烦人的警告消息。

我不知道如何通过在我看来并不是大量数据的情况来达到这个限制。

我了解到可以通过在客户端上操作 Windows 注册表或使用Microsoft 提供的补丁来增加此限制。

更优雅的解决方案是使用此处描述的解决方法,该解决方法将在长时间运行的操作中插入 setTimeout,重置 IE8 中的操作计数器。

现在成功获取数据后,主干调用 parse 方法,该方法将在内部使用 underscore.js 映射函数。

我想在不触及 underscore.js 或backbone.js 源代码的情况下应用解决方法代码。这可能吗?

4

1 回答 1

1

是否可以拆分请求并让服务器前端完成所有分页逻辑?IE8 真的是地狱,但你的方法也不是最佳实践,无论是否是 Intranet。4000 个对象 x 25 个属性(我猜是 json,因为您使用的是骨干网)实际上是非常繁重的客户端解析。

查看 Backbone 的 Backbone.Paginator 组件,因为它肯定会帮助你。

http://addyosmani.com/blog/backbone-paginator-new-pagination-components-for-backbone-js/

于 2012-08-14T06:03:23.620 回答