2008-11-19 61 views
1

我有一個web應用程序,在javascript和css中負載很重。第一次登錄用戶需要一段時間才能加載,一旦它下載js等等。然後緩存將使一切更快。加載站點

我希望我的用戶瞭解此加載時間。如何在js和css下載時添加一些代碼來「顯示」一些加載信息?

回答

3

您可以顯示覆蓋圖,顯示「正在加載...」,並在下載完成時隱藏此圖標。

<html> 
    <head> 
     ... a bunch of CSS and JS files ... 

     <script type="text/javascript" src="clear-load.js"></script> 
    </head> 
    <body> 
     <div 
      style="position: absolute; left: 50px; right: 50px; top: 50px; bottom: 50px; border: 3px solid black;" 
      id="loading-div" 
     > 
      This page is loading! Be patient! 
     </div> 

     ... Your body content ... 
    </body> 
</html> 

內容明確load.js的:

document.getElementById('loading-div').style.display = 'none'; 

當然,你也可以釘在那個已載入最後的JavaScript文件的底部隱藏股利的JavaScript代碼。

此外,嘗試將您的JavaScript和CSS文件打包到一個文件中,並對其應用gzip壓縮或「縮小」。如果你做對了,你可以把20個請求中的500KB的javascript帶給少於100KB的1個請求。

0

仁慈的母親裏卡多,這個應用程序涉及多少Javascript和CSS?

我想你可以用AJAX請求加載JS和CSS,並對它們不做任何事情。這會將你的JS和CSS文件加載到緩存中。您可以在「加載」頁面上執行所有操作,並在加載文件後重定向到實際頁面。但海事組織你真的不應該這樣做。使用Fiddler真正看到幕後發生了什麼 - 確保人們在進行優化之前真的必須等待他們的JS/CSS文件下來。

0

我似乎很奇怪,加載時間取決於javascript和css的大小。你確定沒有其他因素導致加載時間過長嗎?

0

請自己幫忙,試試YSlow,登錄http://developer.yahoo.com/yslow。這是一個Firebug插件(是的,一個插件插件),將分析您的網站,並提出修復策略。