2

我在我的網站上使用twitter bootstrap開發了一個頁面。 因爲我已經包含了下面提到的引導程序的js。bootsrap js減緩IE中的網頁

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中打開該頁面並檢查任何複選框時,需要一些時間來檢查/取消選中該複選框。 以及同樣的事情,如果是逆襲,它需要一些時間來展開/摺疊下拉菜單。

所以我一個一個地刪除了所有的bootstrap js,它開始提高性能。 當所有引導js被刪除時,它開始工作與其他瀏覽器相同。

那麼有沒有解決方案來解決這個問題?

在此先感謝。

回答

7

我在我的應用程序中使用了jquery-1.8.1.min.js

而且我剛好與jquery-1.8.3.min.js

現在,它的做工精細在所有的瀏覽器包括IE更換jquery-1.8.1.min.js解決了我的問題。

4

我很懷疑JS的數量是什麼讓你放慢速度。例如,當您點擊the official Bootstrap docs page上的按鈕時,您是否獲得了同樣差的表現?我不是。

相反,我懷疑你是否與其他JS庫有衝突,或者你的標記有問題,這會導致Bootstrap插件之一將異常數量的回調附加到頁面上。

測試後者的一種方法是修改jQuery.on以在調用時打印到控制檯。運行jQuery的加載後,但在此之前的引導庫下面會做的伎倆:

var old = jQuery.fn.on; 
jQuery.fn.on = function (types) { 
    console.log(types); 
    return old.apply(this, arguments); 
}; 

在引導文檔有50個聽衆註冊,大多是點擊。

否則,在JS的數量上,您應該使用Bootstrap的聚合和縮小版本,如BootstrapCDN服務(bootstrap.min.js),而不是所有這些單獨的文件。使用那些在開發中;使用縮小的性能測試/生產。

+3

這是一個非常好的提示! (捕獲) – davidkonrad