簡體   English   中英

包含多少個 <HEAD> ?

[英]How many is too many includes in <HEAD>?

我已經對此進行了一些搜索,但是找不到任何最佳實踐或推薦-可能是因為沒有任何最佳實踐或推薦。 除了TinyMCE和其他一些插件以及網站的特定JS文件之外,我還在網站上使用了各種jQuery插件。 最重要的是,我有三個樣式表.....隨着網站的發展,還會有更多樣式表!

是否存在某種“限制”或您應注意在標記中包含腳本的任何內容? 我知道每個請求都是另一個需要完成的HTTP請求,但是如果它們都被縮小並且盡可能小,會不會有問題?

    <link rel="stylesheet" type="text/css" href="http://mysite.com/assets/css/redmond.css" />
    <link rel="stylesheet" type="text/css" href="http://mysite.com/assets/css/style.css" />
    <link rel="stylesheet" type="text/css" href="http://mysite.com/assets/css/jqueryFileTree.css" />

    <!--[if gte IE 7]>
        <link rel="stylesheet" type="text/css" href="http://mysite.com/scripts/style.ie.css" />
    <![endif]-->

    <script type="text/javascript" src="http://mysite.com/assets/js/jquery.js"></script>
    <script type="text/javascript" src="http://mysite.com/assets/js/jquery-ui.js"></script>
    <script type="text/javascript" src="http://mysite.com/assets/js/jqueryFileTree.js"></script>
    <script type="text/javascript" src="http://mysite.com/assets/js/jqminmax.js"></script>
    <script type="text/javascript" src="http://mysite.com/assets/js/jquery.corner.js"></script>
    <script type="text/javascript" src="http://mysite.com/assets/js/jquery.jeditable.js"></script>
    <script type="text/javascript" src="http://mysite.com/assets/js/jquery.qtip.js"></script>

    <script type="text/javascript" src="http://mysite.com/assets/plugins/tinymce/tiny_mce.js"></script>

    <script type="text/javascript" src="http://mysite.com/assets/js/latitude.js"></script>

不好!

我建議使用腳本將這些文件組合為一個js和一個css,然后再進行部署。 造成這種情況不好的原因有很多,請參見下面的鏈接以獲取更多信息:

http://developer.yahoo.com/performance/rules.html

編輯:要進一步回答否,文件數量沒有限制,但是大多數瀏覽器一次只能與Web服務器建立2個連接(對於一個站點),因此一次將加載js 2個文件。 Firefox的YSlow插件將向您顯示文件下載方式的圖表。

如果你正在使用ASP.NET這個CodeProject上的文章可能會幫助,如果你是在Linux上那么這個可能的幫助。

編輯:在Windows(插入到您的生成工具)中的簡單批處理文件將是

@echo off
copy file1.js + file2.js + file3.js merged.js /b

瀏覽器對域的並發請求數量有限制,因此它們可以減慢頁面中其他項目的加載速度。 例如, IE8的並發連接數限制為6,而IE7的並發連接數限制為2

我建議您合並本地托管的文件,從外部引用其他文件(例如,在Google上),並可能將其他文件移動到頁面底部,以免延遲加載。

您可以將腳本與許多在線工具(例如jsCompress)結合使用 它具有“上傳文件”標簽,因此您只需上傳所有js文件,它就會壓縮並縮小。

還有服務器端實用程序將為您完成此任務。 您沒有說使用什么服務器端技術,但是例如在PHP世界中,您可以使用Minify

如果這樣可以幫助您感覺更好,那么所有其他(甚至是舊的)瀏覽器都會像這樣“加載”許多其他站點,並且js文件幾乎被緩存。 可能有幫助的一件事是將您的jquery文件鏈接到googleapis網站上托管的文件,因為其他網站可能會鏈接到該網站上托管的同一個jquery文件,並且該文件已經在其緩存中了:

http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js

您的Web服務器應該已經通過自動啟用gzip壓縮來優化文件,但是請仔細檢查以確保安全。

您在頁面上引用的CSS和JS文件越多,加載時間就越長。 最好將它們組合成盡可能少的文件。

我不知道這種問題是否存在很好的答案,但是如果您對優化感興趣,那么Yahoo!可以完成很多工作: http : //developer.yahoo.com/performance/rules .html

就我個人而言,我傾向於忽略大多數規則,僅因為我正在構建的東西並不是那么大。

Google Page Speed是您的朋友。 似乎對類固醇基本上是YSlow。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM