把JS與CSS寫在同一個(gè)文件里的書寫方法
更新時(shí)間:2007年06月02日 00:00:00 作者:
我們經(jīng)常把多個(gè)CSS或者多個(gè)JS并成一個(gè),以節(jié)省請(qǐng)求,但是這樣最少還是要兩個(gè)。在MSDN的Blog上看到原來也是可以把JS和CSS并在一個(gè)文件里,那怎樣做呢?利用注釋,先看一下這代碼。
<!-- /*
window.onload=function(){
document.getElementById("test2").innerHTML="傳說中滴JS測(cè)試者。如果你看到我,那<strong>JS</strong>也生效了";
}
<!-- */
<!-- #test1,#test2{border:3px #000 solid;padding:5px;color:#123456;background-color:#ccc;} strong{color:red;}
CSS處理時(shí)會(huì)忽視掉<!--,這時(shí)JS部分只是CSS的注釋/* js */,而JS處理時(shí)把<!--轉(zhuǎn)成// 也就是JS的單行注釋,單行注釋會(huì)把后面的/*和*/干掉,同時(shí)也干掉了CSS,不廢話了,看演示的例子。
在網(wǎng)上運(yùn)行時(shí)還要通過程序輸出個(gè)“*/*”的頭,不然MIME不對(duì)有的瀏覽器不干活。PHP的是這樣:
<?header('Content-type: */*');?>
理論上在服務(wù)器上指定某種后綴的MIME是“*/*”應(yīng)用也行得通,不過我沒有試。把JS跟CSS寫在同一個(gè)文件特別適合第三方調(diào)用的那種,雖然文件大了一點(diǎn),但能少了一半的請(qǐng)求數(shù),帥帥滴
當(dāng)然,這樣的格式寫起來一定很不爽,不過配合程序來讀原來已經(jīng)的,并處理一下就可以,這樣就可以保持原來文件也方便維護(hù),輸出文件又省點(diǎn)請(qǐng)求,如果想的話,處理處理緩存,跟靜態(tài)文件差不多了。這里有份C#的,據(jù)說是官方滴,我的是PHP的,因?yàn)檫€沒寫緩存的機(jī)制就不拿出來丟人了,其實(shí)原理也很簡(jiǎn)單,會(huì)編程的三兩下就搞定。
再其實(shí),我是想找把多份CSS合并的方式,合成一個(gè)不難,可以是處理好各模塊化的分離同時(shí)能在客戶端緩存及方便程序調(diào)用才是難的,CSS又不像JS可以在客戶端異步調(diào)用,誰(shuí)有好的方式介紹一下給我。
傳說中的測(cè)試
傳說中的測(cè)試者一號(hào)。如果你看到我有邊框跟顏色,那就是說CSS生效了。
傳說中滴JS測(cè)試者。如果你看到我,那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測(cè)試者。如果你看到我,那<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測(cè)試者。如果你看到我,那<strong>JS</strong>也生效了";
}
<!-- */
<!-- #test1,#test2{border:3px #000 solid;padding:5px;color:#123456;background-color:#ccc;} strong{color:red;}
CSS處理時(shí)會(huì)忽視掉<!--,這時(shí)JS部分只是CSS的注釋/* js */,而JS處理時(shí)把<!--轉(zhuǎn)成// 也就是JS的單行注釋,單行注釋會(huì)把后面的/*和*/干掉,同時(shí)也干掉了CSS,不廢話了,看演示的例子。
在網(wǎng)上運(yùn)行時(shí)還要通過程序輸出個(gè)“*/*”的頭,不然MIME不對(duì)有的瀏覽器不干活。PHP的是這樣:
<?header('Content-type: */*');?>
理論上在服務(wù)器上指定某種后綴的MIME是“*/*”應(yīng)用也行得通,不過我沒有試。把JS跟CSS寫在同一個(gè)文件特別適合第三方調(diào)用的那種,雖然文件大了一點(diǎn),但能少了一半的請(qǐng)求數(shù),帥帥滴
當(dāng)然,這樣的格式寫起來一定很不爽,不過配合程序來讀原來已經(jīng)的,并處理一下就可以,這樣就可以保持原來文件也方便維護(hù),輸出文件又省點(diǎn)請(qǐng)求,如果想的話,處理處理緩存,跟靜態(tài)文件差不多了。這里有份C#的,據(jù)說是官方滴,我的是PHP的,因?yàn)檫€沒寫緩存的機(jī)制就不拿出來丟人了,其實(shí)原理也很簡(jiǎn)單,會(huì)編程的三兩下就搞定。
再其實(shí),我是想找把多份CSS合并的方式,合成一個(gè)不難,可以是處理好各模塊化的分離同時(shí)能在客戶端緩存及方便程序調(diào)用才是難的,CSS又不像JS可以在客戶端異步調(diào)用,誰(shuí)有好的方式介紹一下給我。
傳說中的測(cè)試
傳說中的測(cè)試者一號(hào)。如果你看到我有邊框跟顏色,那就是說CSS生效了。
傳說中滴JS測(cè)試者。如果你看到我,那JS也生效了
復(fù)制代碼 代碼如下:
使用同一份文件: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測(cè)試者。如果你看到我,那<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 .
您可能感興趣的文章:
- js與css實(shí)現(xiàn)彈出層覆蓋整個(gè)頁(yè)面的方法
- JS判斷瀏覽器是否支持某一個(gè)CSS3屬性的方法
- jquery動(dòng)態(tài)加載js/css文件方法(自寫小函數(shù))
- js 動(dòng)態(tài)修改css文件的方法
- JS使用getComputedStyle()方法獲取CSS屬性值
- jsp頁(yè)面中插入css樣式的三種方法總結(jié)
- javascript預(yù)加載圖片、css、js的方法示例介紹
- js 獲取和設(shè)置css3 屬性值的實(shí)現(xiàn)方法
- js CSS操作方法集合
- JS+CSS實(shí)現(xiàn)彈出全屏灰黑色透明遮罩效果的方法
相關(guān)文章
深入理解JavaScript的事件執(zhí)行機(jī)制
本文主要介紹了JavaScript的事件執(zhí)行機(jī)制,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09javascript設(shè)計(jì)模式 – 訪問者模式原理與用法實(shí)例分析
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 訪問者模式,結(jié)合實(shí)例形式分析了javascript訪問者模式基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法
最近做歌一個(gè)小項(xiàng)目,但是要放到我們的app上,然而需要橫豎屏使用不同的樣式,本文就來介紹一下js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法,感興趣的可以了解一下2021-07-07