2013-10-02 47 views
0

我搜索了一段時間,每個人都說不同。所以我有關於緩存,JavaScript文件和樣式的這個問題。在每一頁,一個或多個頁面上加載Javascripts和樣式?

好吧,讓我們開始,在每個教程和每個網站,談論如何加載文件,正確的方式來加載我所有的jQuery插件(我有20個腳本的不同頁面,只有少數是在主頁面上使用)在我的頁眉或頁腳和每頁上。即使其中一個插件,我們稱之爲contact.jquery.js也不會在每個頁面上執行(about.phpindex.php),並且只在contact.php中運行,並且用戶並不總是能夠訪問。

邏輯上說 - 如果您從第一頁(index.php)一次加載所有腳本和樣式,第二頁上的腳本加載(contact.php)將被緩存,並且將被快速加載。

當我從加載頭所有的腳本,我的第一個頁面是很慢,但是當我加載1個腳本從另一個網頁(沒有把腳本頭)它並不需要很多的時間加載,因爲它只是一個jQuery腳本。

所以這裏沒有任何邏輯,如果我在使用它的頁面上分離腳本,速度與用戶使用的頁面成比例。

那麼最好的方法是什麼?

  • 要通過網頁訪問頻率單獨的腳本並把
  • 分離頁面中的腳本仍然加載一切從索引頁。
  • 將所有腳本分隔到不同的頁面並放到頁腳。
  • 在第一頁的標題中使用所有腳本,但不要在使用特定腳本的頁面上重新加載某些腳本。
  • 加載所有插件的頭,在所有頁面,在一個單一的JS文件
  • 使用裝載機像headjs或yepnope

PS:對於風格的一樣 - contact.css將被載入從第一頁或更好的contact.php。我認爲從索引來看css更好,但是對於腳本我感到困惑。

+0

也許[yepnope(http://yepnopejs.com/)有條件裝載機的變化爲js和css文件 – gwillie

回答

0

我會建議有以下風格

global.css中/ JS

您可在該網站添加您的共同風格/ JS。像網站徽標,頁眉,頁腳,佈局等

Page.css/JS

添加您的頁面特定的CSS/JS

插件

使用CSS的精縮版/ JS。如果可能的話,您可以根據需要進行捆綁/分組和縮小。

因此,在所有頁面中使用通用,並在相應頁面中僅添加頁面特定的js/css。

但是第一個請求將達到服務器和緩存像css/js/img/etc靜態文件,直到您清空瀏覽器緩存或URL

相關問題