2017-08-03 34 views
0

所以,我有~600多家公司在<select>列表,「widgetized」與jQueryUI自動完成組合框。這是我頁面中最慢的部分,當我試圖找到除第一個字符串外的任何時間的字符串。原生array.js讓我慢下來

我已經開始使用Chrome開發人員工具來分析JS性能,並發現最可怕的部分是sort瀏覽器調出native array.js的方法。

這是如何的畫面我已經得到了有關它的想法:

My code profiling

〜11.5秒,呈現出下拉列表中最後一次選擇的輸入值?我應該做什麼以及提供我的經驗的什麼樣的例子?幫助我改善這種可怕的事情!

UPD

它看起來像「每次我打開下拉列表它處理的東西更多的時間,並使其兩次的時間,但我不知道這是一個排序或別的東西,除了原生Array.js方法排序與g.nodeType.g.documentLement.l功能:

g.nodeType.g.documentLement.l example

UPD: 我的瀏覽器是由鉻60.0.3112.90和JavaScript V8 6.0.286.52 我將嘗試非縮小的jquery-1.12.4.js,以瞭解爲什麼在jQuery中調用compareDocumentPosition屬性之間會出現空閒時刻。

回答

0

好吧,當我的圖書館更新時,我已經停止了UI流量調查,並且今天我又收到了負面反饋「慢列表開放UI」。我很驚訝,直到記住生產和開發環境沒什麼區別。 - 本地開發人員使用非縮小庫文件和 - 生產已縮小庫

當我檢查了所有我們使用的庫後,我找到了jQuery UI。即使是最後一個,但縮小版本以我上面描述的方式減慢了組合框列表渲染速度。

不知道爲什麼,但現在我們使用非縮小的jQ-UI和問題已解決。