偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

高性能WEB開發(fā)之瘋狂的HTML壓縮

開發(fā) 前端
在“JS、CSS的合并、壓縮、緩存管理”一文中說到自己寫過的1個自動合并、壓縮JS,CSS,并添加版本號的組件。這次把壓縮html的功能也加入到該組件中,流程很簡單,就是在程序啟動(contextInitialized or Application_Start)的時候掃描所有html,jsp(aspx)進(jìn)行壓縮。

上一篇隨筆中網(wǎng)友 skyaspnet 問我如何壓縮HTML,當(dāng)時回答是推薦他使用gzip,后來想想,要是能把所有的html,jsp(aspx)在運行前都壓縮成1行未免不是一件好事啊。一般我們啟動gzip都比較少對html啟動gzip,因為現(xiàn)在的html都是動態(tài)的,不會使用瀏覽器緩存,而啟用gzip的話每次請求都需要壓縮,會比較消耗服務(wù)器資源,對js,css啟動gzip比較好是因為js,css都會使用緩存。我個人覺得的壓縮html的最大好處就是一本萬利,只要寫好了一次,以后所有程序都可以使用,不會增加任何額外的開發(fā)工作。

在“JS、CSS的合并、壓縮、緩存管理”一文中說到自己寫過的1個自動合并、壓縮JS,CSS,并添加版本號的組件。這次把壓縮html的功能也加入到該組件中,流程很簡單,就是在程序啟動(contextInitialized or Application_Start)的時候掃描所有html,jsp(aspx)進(jìn)行壓縮。

壓縮的注意事項:

實現(xiàn)的方式主要是用正則表達(dá)式去查找,替換。在html壓縮的時候,主要要注意下面幾點:

1. pre,textarea 標(biāo)簽里面的內(nèi)容格式需要保留,不能壓縮。

2. 去掉html注釋的時候,有些注釋是不能去掉的,比如:<!--[if IE 6]> ..... <![endif]-->

3. 壓縮嵌入式j(luò)s中的注釋要注意,因為可能注釋符號會出現(xiàn)在字符串中,比如: var url = "http://www.cnblogs.com"; // 前面的//不是注釋

去掉JS換行符的時候,不能直接跟一下行動內(nèi)容,需要有空格,考慮下面的代碼:

  1. else  
  2. return; 

如果不帶空格,則變成elsereturn。

4. jsp(aspx) 中很有可能會使用嵌入一些服務(wù)器代碼,這個時候也需要單獨處理,里面注釋的處理方法跟js的一樣。

源代碼:

下面是java實現(xiàn)的源代碼,也可以 猛擊此處 下載該代碼,相信大家都看的懂,也很容易改成net代碼:

  1. show source 

使用注意事項:

使用了上面方法后,再運行程序,是不是發(fā)現(xiàn)每個頁面查看源代碼的時候都變成1行啦,還不錯吧,但是在使用的時候還是要注意一些問題:

1. 嵌入js本來想調(diào)用yuicompressor來壓縮,yuicompressor壓縮JS前,會先編譯js是否合法,因我們嵌入的js中可能很多會用到一些服務(wù)器端代碼,比如 var now = ,這樣的代碼會編譯不通過,所以無法使用yuicompressor。

最后只能自己寫壓縮JS代碼,自己寫的比較粗燥,所以有個問題還解決,就是如果開發(fā)人員在一句js代碼后面沒有加分號的話,壓縮成1行就很有可能出問題。所以使用這個需要保證每條語句結(jié)束后都必須帶分號。

2. 因為是在程序啟動的時候壓縮所有jsp(aspx),所以如果是用戶請求的時候動態(tài)產(chǎn)生的html就無法壓縮。

原文鏈接:http://www.cnblogs.com/BearsTaR/archive/2010/05/17/html_compressor.html

系列專題:高性能WEB開發(fā)應(yīng)用指南

【編輯推薦】

  1. 高性能WEB開發(fā)之頁面呈現(xiàn)、重繪、回流
  2. 高性能WEB開發(fā)之如何加載JavaScript
  3. 高性能WEB開發(fā)之減少請求、響應(yīng)的數(shù)據(jù)量
  4. 讓W(xué)eb開發(fā)者事半功倍的8個網(wǎng)站
  5. 20個新鮮的Web應(yīng)用 Web設(shè)計師不可錯過
責(zé)任編輯:陳貽新 來源: BearRui
相關(guān)推薦

2011-04-22 09:54:37

CSSjavascript

2011-04-18 10:16:30

WEB高性能

2011-04-07 13:53:25

Web工具

2011-04-19 11:06:03

JavaScriptweb

2011-10-18 13:58:32

高性能web

2011-04-07 13:39:24

WebHTTP

2011-04-21 09:59:48

WEBjavascript

2013-09-10 16:16:19

移動網(wǎng)站性能優(yōu)化移動web

2011-06-14 09:27:43

高性能WEB開發(fā)

2011-04-21 10:47:29

Webjavascript

2011-04-28 09:40:26

flush高性能Web開發(fā)

2011-04-25 10:11:57

高性能web開發(fā)

2016-08-23 14:37:21

2009-07-30 10:28:56

Web高性能開發(fā)

2016-11-28 09:19:27

2013-06-19 09:20:53

Web開發(fā)Web性能優(yōu)化高性能

2013-08-16 14:43:14

高性能移動Web移動Web站點移動Web

2014-03-19 14:34:06

JQuery高性能

2013-09-10 17:13:57

移動網(wǎng)站性能優(yōu)化移動web

2019-03-14 15:38:19

ReactJavascript前端
點贊
收藏

51CTO技術(shù)棧公眾號