我使用twitter引导程序在我的网站上开发了一个页面。在这一点上,我已经包含了下面提到的bootstrap的js。
bootstrap-transition.js
bootstrap-alert.js
bootstrap-modal.js
bootstrap-dropdown.js
bootstrap-scrollspy.js
bootstrap-tab.js
bootstrap-tooltip.js
bootstrap-popover.js
bootstrap-button.js
bootstrap-collapse.js
bootstrap-carousel.js
bootstrap-typeahead.js
这个页面在FF和chrome中运行良好。当我在IE中打开该页面并选中任何复选框时,将需要一些时间来选中/取消选中该复选框。同样,在dtropwown的情况下,展开/折叠下拉列表也需要一些时间。
所以我一个接一个地删除了所有的bootstrap js,它开始提高性能。当所有的bootstrap js都被删除后,它开始像其他浏览器一样正常工作。
那么,有什么解决方案可以解决这个问题吗?
提前谢谢。
我在应用程序中使用jquery-1.8.1.min.js
。
我通过用jquery-1.8.3.min.js
替换jquery-1.8.1.min.js
解决了我的问题
现在它在包括IE在内的所有浏览器中都能正常工作。
我怀疑JS的数量是让你慢下来的原因。例如,当你点击官方Bootstrap文档页面上的按钮时,你的表现是否同样糟糕?我不是。
相反,我怀疑您可能与其他JS库有一些冲突,或者您的标记格式不正确,导致其中一个Bootstrap插件在页面上附加了异常数量的回调。
测试后者的一种方法是修改jQuery.on
,以便在调用它时打印到控制台。在jQuery加载之后,但在Bootstrap库之前运行以下操作即可:
var old = jQuery.fn.on;
jQuery.fn.on = function (types) {
console.log(types);
return old.apply(this, arguments);
};
在Bootstrap文档中,注册了50个监听器,大部分是点击。
否则,在JS的数量上,您应该使用Bootstrap的聚合和缩小版本,就像BootstrapCDN提供的版本(Bootstrap.min.JS)一样,而不是所有这些单独的文件。使用那些正在开发的;在性能测试/生产中使用minimied。