2012-01-20 43 views
2

在我創建的一些網站上,當從一個頁面導航到另一個頁面時,在加載普通頁面之前會有一個毫秒的全白頁面。我曾經認爲這與緩存問題有關。最近我編碼a site(仍在測試中),它幾乎沒有PHP,JavaScript或任何幻想。它本質上就是直線html & css,而且寫得非常稀少。還有一個需要緩存所有js,css,img等的.htaccess。頁面本身加載非常快。如何在頁面加載之前消除毫秒的空白頁面

一些網站似乎有這種白色閃爍或頁面之間沒有任何內容閃爍。其他網站不。我從來沒有弄清楚它是什麼。 Chrome & Firefox都表現出這種行爲。

回答

3

我不小心打了一個頭部的不敏感js文件(從模板中剩餘)。毫秒的白色空白是服務器試圖獲取文件,尋找它,而沒有找到它。 :(

1

如果瀏覽器在開始渲染任何東西之前需要下載大量數據(比如Javascript),就會發生這種情況。

將所有腳本移動到主體的末尾,以便瀏覽器在呈現內容之前不需要等待它們下載並執行。

縮小所有的CSS,以便下載所需的時間更少。

+0

是的,我會感動的JavaScript底部。 –

+0

我同意這是一個好主意。但在這種情況下,我的CSS是5K。我嚴重懷疑這將使任何區別。 – JakeParis

0

正如我所看到的「jquery-ui-min.js」是一個非常大的文件(約242千字節),所以我將它移動到一個加載腳本文件中,如果你有其他「大」腳本,但是不要忘記移動這些初始化腳本,它們會調用這些腳本,以避免調用「不存在」功能! 當然,第一個腳本是最新的jquery.js 。

function load_scripts(){ 
    var s = document.createElement("script"); 
    s.type = "text/javascript"; 
    s.src = "scripts/jquery-ui-1.9.2.custom.min.js"; 
    $("head").append(s); 
} 
相關問題