2011-07-19 82 views
1

我們使用rails(2.3.4),ruby(1.8.2),MySQL,JavaScript,jQuery做了一個應用程序。這是處理最少6000條記錄。我們在表格中顯示這些記錄的細節。開始Mozilla花費2m來加載整個頁面。我們做了緩存,急切的加載,索引。現在Mozilla花費25s來加載整個頁面。但IE-7以1m30s來加載頁面。如何加快IE7中的應用程序運行時間?

我們不知道爲什麼IE-7花費太多時間。

  1. 任何人都可以幫助我們檢測IE-7中的運行時間,並告訴您的指導方針以提高IE-7的性能。
  2. 在IE7中可以使用任何附加組件來查看像Firebug附加組件一樣的AJAX請求時間。

回答

3

Table Rendering - IE Blog

當Internet Explorer遇到它測量表的所有內容 渲染,以便它知道什麼 列的寬度是正確地呈現內容之前的表。另一方面,Firefox 使用了不同的算法,因爲它在所有通過之前逐漸呈現表格內容 。

您可以通過設置CSS規則table-layout: fixed來提高性能。渲染器將​​根據表格的第一行計算佈局。

4

使用部分加載。不要試圖一次加載6000條記錄,需要時將它們加載到更小的段中。即使5秒的負載也太長,更不用說25秒或1分30秒。

哦,是的,IE 7的JS引擎很糟糕。

0

IE7很慢,沒有真正的方法來解決這個基本事實。

我要回答你的第二個問題(關於調試IE7的工具),因爲我不認爲我可以給你實際加速IE7的主要觀點提供任何有用的建議。

在IE7中可以使用任何附加組件來查看AJAX請求的時間,就像Firebug add一樣。

首先要嘗試的是IE8或IE9。這些瀏覽器有一個開發工具窗口(可通過F12訪問,就像Firebug一樣)。它不如Firebug,但它確實有很多,它是一個有用的調試工具。它還具有允許您將瀏覽器切換到IE7兼容模式的功能。這個想法是,你可以從IE8或IE9的相對舒適性測試IE7。

不好的一面是它實際上並不是IE7。這只是假裝ID7,並不是特別好。它可能會也可能不會複製你在IE7中遇到的速度問題,它肯定有已知的錯誤和怪癖,它們不會出現在真正的IE7或正常模式下的IE8中。

但所有這一切說,它可能足以讓你運行一些測試,並得到一些答案。

第二個建議可能是嘗試Firebug Lite。這是Firebug的縮減版本,它可以在任何瀏覽器(但通常是IE)中作爲書籤運行。它沒有Firebug完整版本的所有功能,因爲只有在不編寫瀏覽器插件的情況下才能做到這一點,但它的確有着驚人的數量。如果沒有其他的東西,它會給你console函數,這可以成爲調試的生命保護器。

我希望有幫助。

相關問題