把JS與CSS寫在同一個文件里的書寫方法
更新時間:2007年06月02日 00:00:00 作者:
我們經(jīng)常把多個CSS或者多個JS并成一個,以節(jié)省請求,但是這樣最少還是要兩個。在MSDN的Blog上看到原來也是可以把JS和CSS并在一個文件里,那怎樣做呢?利用注釋,先看一下這代碼。
<!-- /*
window.onload=function(){
document.getElementById("test2").innerHTML="傳說中滴JS測試者。如果你看到我,那<strong>JS</strong>也生效了";
}
<!-- */
<!-- #test1,#test2{border:3px #000 solid;padding:5px;color:#123456;background-color:#ccc;} strong{color:red;}
CSS處理時會忽視掉<!--,這時JS部分只是CSS的注釋/* js */,而JS處理時把<!--轉(zhuǎn)成// 也就是JS的單行注釋,單行注釋會把后面的/*和*/干掉,同時也干掉了CSS,不廢話了,看演示的例子。
在網(wǎng)上運行時還要通過程序輸出個“*/*”的頭,不然MIME不對有的瀏覽器不干活。PHP的是這樣:
<?header('Content-type: */*');?>
理論上在服務器上指定某種后綴的MIME是“*/*”應用也行得通,不過我沒有試。把JS跟CSS寫在同一個文件特別適合第三方調(diào)用的那種,雖然文件大了一點,但能少了一半的請求數(shù),帥帥滴
當然,這樣的格式寫起來一定很不爽,不過配合程序來讀原來已經(jīng)的,并處理一下就可以,這樣就可以保持原來文件也方便維護,輸出文件又省點請求,如果想的話,處理處理緩存,跟靜態(tài)文件差不多了。這里有份C#的,據(jù)說是官方滴,我的是PHP的,因為還沒寫緩存的機制就不拿出來丟人了,其實原理也很簡單,會編程的三兩下就搞定。
再其實,我是想找把多份CSS合并的方式,合成一個不難,可以是處理好各模塊化的分離同時能在客戶端緩存及方便程序調(diào)用才是難的,CSS又不像JS可以在客戶端異步調(diào)用,誰有好的方式介紹一下給我。
傳說中的測試
傳說中的測試者一號。如果你看到我有邊框跟顏色,那就是說CSS生效了。
傳說中滴JS測試者。如果你看到我,那JS也生效了
使用同一份文件:jscss.php
<link type="text/css" rel="stylesheet" href="jscss.php" /><script type="text/javascript" src="jscss.php"></script>jscss.php的內(nèi)容
<?header('Content-type: */*');?>
<!-- /*
window.onload=function(){
document.getElementById("test2").innerHTML="傳說中滴JS測試者。如果你看到我,那<strong>JS</strong>也生效了";
}
<!-- */
<!-- #test1,#test2{border:3px #000 solid;padding:5px;color:#123456;background-color:#ccc;} strong{color:red;}
Copyright © 2006-2007 aoao , Some Rights Reserved .
<!-- /*
window.onload=function(){
document.getElementById("test2").innerHTML="傳說中滴JS測試者。如果你看到我,那<strong>JS</strong>也生效了";
}
<!-- */
<!-- #test1,#test2{border:3px #000 solid;padding:5px;color:#123456;background-color:#ccc;} strong{color:red;}
CSS處理時會忽視掉<!--,這時JS部分只是CSS的注釋/* js */,而JS處理時把<!--轉(zhuǎn)成// 也就是JS的單行注釋,單行注釋會把后面的/*和*/干掉,同時也干掉了CSS,不廢話了,看演示的例子。
在網(wǎng)上運行時還要通過程序輸出個“*/*”的頭,不然MIME不對有的瀏覽器不干活。PHP的是這樣:
<?header('Content-type: */*');?>
理論上在服務器上指定某種后綴的MIME是“*/*”應用也行得通,不過我沒有試。把JS跟CSS寫在同一個文件特別適合第三方調(diào)用的那種,雖然文件大了一點,但能少了一半的請求數(shù),帥帥滴
當然,這樣的格式寫起來一定很不爽,不過配合程序來讀原來已經(jīng)的,并處理一下就可以,這樣就可以保持原來文件也方便維護,輸出文件又省點請求,如果想的話,處理處理緩存,跟靜態(tài)文件差不多了。這里有份C#的,據(jù)說是官方滴,我的是PHP的,因為還沒寫緩存的機制就不拿出來丟人了,其實原理也很簡單,會編程的三兩下就搞定。
再其實,我是想找把多份CSS合并的方式,合成一個不難,可以是處理好各模塊化的分離同時能在客戶端緩存及方便程序調(diào)用才是難的,CSS又不像JS可以在客戶端異步調(diào)用,誰有好的方式介紹一下給我。
傳說中的測試
傳說中的測試者一號。如果你看到我有邊框跟顏色,那就是說CSS生效了。
傳說中滴JS測試者。如果你看到我,那JS也生效了
復制代碼 代碼如下:
使用同一份文件:jscss.php
<link type="text/css" rel="stylesheet" href="jscss.php" /><script type="text/javascript" src="jscss.php"></script>jscss.php的內(nèi)容
<?header('Content-type: */*');?>
<!-- /*
window.onload=function(){
document.getElementById("test2").innerHTML="傳說中滴JS測試者。如果你看到我,那<strong>JS</strong>也生效了";
}
<!-- */
<!-- #test1,#test2{border:3px #000 solid;padding:5px;color:#123456;background-color:#ccc;} strong{color:red;}
Copyright © 2006-2007 aoao , Some Rights Reserved .
相關文章
javascript設計模式 – 訪問者模式原理與用法實例分析
這篇文章主要介紹了javascript設計模式 – 訪問者模式,結(jié)合實例形式分析了javascript訪問者模式基本概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04