申請加盟    銷售熱線: 020-85421558 技術支持: 020-36523071 備案專線: (0)136-8886-2121

你要找的是:珠海網站制作?中外商貿建站網為你提供服務:最好的珠海網站制作 珠海網站制作公司,歡迎瀏覽:珠海網站制作

珠海網站制作

甘肃十一选五:網頁優化的最基礎部分:HTML的優化

在Perfection kills上看到他去年寫的一篇文章,關于HTML優化的,講的很詳細,姑且記錄之,盡管里面有些東西并不能在目前的環境里應用。在當前WEB應用逐漸前端化的潮流下,對客戶端的優化越來越受到關注,如何減少代碼,如何讓應用快速的展示給用戶,如何減少用戶等待時間等等,如雅虎的34條優化黃金法則里面提出了詳盡的優化方案。
網頁優化的最基礎的部分應該就是HTML的優化,具體來說首先就是標記的清理,清理標記不僅僅能縮減文檔的大小,而且能夠讓文檔更易于維護提高搜索引擎的可見度(Clean markup means better accessibility, easier maintenance, and good search engine visibility),但是即便是那些號稱高度優化過的網頁,如果仔細查看代碼,依舊可以發現很多可以刪減或者已經過時的標記用法:
1.script里的注釋符

                    <SCRIPT language=javascript>  <!-- Begin  alert("daimaren.cn");  //  End -->  </script>

除非是像95 Netscape 1.0這類幾乎絕跡的瀏覽器需要這樣的處理,在大部分主流瀏覽器里,往腳本塊里添加HTML注釋是完全不需要的。
2.<![CDATA[ … ]>

                    <script type="text/javascript">      //<![CDATA[        ...      //]]>    </script>

這是另外一個經常在js代碼塊里添加的錯誤預防措施,他是在處理真正的XHTML文檔(“application/xhtml+xml” content-type)時為了防止代碼將形如<號解析為標簽開始,所有在CDATA內包含的內容,都會被當成文本處理。但是實際情況是,目前幾乎所有的網頁的content-type都是text/html,也就是說它們不是嚴格意義上的xml文檔,而是只是text文本,所以這個錯誤預防處理措施是完全沒有必要的,即使你確定要支持xml的文檔,也要視情況合理的運用CDATA。
3.onclick=”…”, onmouseover=”“等等。
將事件屬性寫在HTML標簽內是一種很不明智的做法,降低了代碼的可維護性,同時污染了標簽,如果將事件屬性通過JS動態添加,不僅可以靈活控制,還可以利用JS客戶端緩存的優勢,讓這些事件屬性不必每次跟隨文檔請求。
4.onclick=”javascript:…”
這是一個有趣的javascript混亂,偽協議和內在的事件處理程序可以組成高達10W多種多余的組合,事實是事件屬性內部的內容在解析后成為body的一個fucution,這個function然后會作為事件處理程序,所以javascript:在此成為一個無用的多余標簽。
5.href=”javascript:void(0)”
繼續javascript:偽協議,有一個臭名昭著的就是javascript:void(0),他是用來避免默認的錨點動作的,它在JS無法正常解析或者出錯時(disabled/not available/errors)會使得錨點完全不可用,理想的解決方案是在href里填寫正確的URL,然后用JS去動態改寫,這樣即使在JS未執行的情況下也不會出現錨點不可用的狀況。HREF =“?!筆且桓鼉蠔透斕奶媧槳?。
6. style=”…”
沒有什么本質性的錯誤,只是后期維護麻煩,另外移到外聯的CSS文件中可以緩存起來提高頁面執行效率。
7. <script language=”Javascript” … >
最容易誤解的屬性之一,覺得這個是腳本的“語言”,這個屬性是如此古老,在1999年就已經不推薦被使用了。
8. <script charset=”…” … >

                    <script type="text/javascript" charset="UTF-8">      ...    </script>

script標簽的另一個容易被誤解的屬性,charset在HTML4.01里的描述:請注意,charset屬性是指字符的 src屬性所指定的腳本編碼,它不涉及的腳本元素的內容。(Note that the charset attribute refers to the character encoding of the script designated by the src attribute; it does not concern the content of the SCRIPT element.),也就是說他只在外聯腳本的時候指定腳本文件的編碼格式。不推薦使用。

上面說的都是一些錯誤或者不推薦的用法,下面是一些可以合理忽略以清理標記的屬性:
1.<style media=”all” …>
HTML 4.01規定的默認媒體是“screen”,但是經過測試發現幾乎所有瀏覽器并未按照規定執行,而是用“all”替代,如果你要使用media=”all”,那建議可以省略此屬性。
2. <form method=”get” …>
form的默認method是get,所以如果要使用get可以不用再指明。
3. <input type=”text” …>
在HTML 4.01和HTML5草案里規定了input的默認屬性為text,所以可以忽略。
4. <meta http-equiv=”Content-type” …>
指定文件的字符編碼一直都引起極大的混亂,Content-type的優先級并不比HTTP HEADER高,當兩者都存在時,請求頭更優先,所以如果你能控制好服務器響應,并且設置好HEADER,那MATE就可以安全的忽略,除非頁面需要本地瀏覽的時候。
5. <a id=”…” name=”…” …>
如果不想兼容古老的瀏覽器(如 Netscape 4),完全不用在一個元素上同時出現ID和NAME。

下面是在HTML(非XHTML)下一些更極端的標記優化方法:

  1. 刪除注釋
  2. 刪除代碼空白
  3. 移除可選結束標簽,如P標簽可以不寫結束標簽
  4. 移除屬性引號
  5. 移除布爾屬性的值,如option的selected
  6. 盡量移除內聯的樣式和腳本等
  7. 盡量優化類和ID名
  8. //daimaren.cn -》//daimaren.cn

X啊,老外羅哩羅嗦的,最后再寫點是關于錯誤的,不好優化示例:
1.移除doctype,HTML Compresor是一個HTML優化工具,它會直接去掉文檔聲明,會導致頁面觸發怪異模式,很不好。
2.用B替代STRONG用I替代EM。
HTML Compresor會直接用B替代STRONG用I替代EM,B不是一個強烈的強調,同樣I和EM也不一樣,B和I只是字體風格,他們會影響頁面渲染,同時也不具備語義。
3.刪除titlealt等標簽屬性。,節約字符和無障礙以及用戶體驗的權衡,得不償失。



熱門城市

上海 | 北京 | 深圳 | 廣州 | 天津 | 南京 | 大連 | 杭州 | 沈陽 | 成都 | 東莞 | 濟南 | 佛山 | 無錫 | 長沙 | 武漢 | 寧波 | 長春 | 蘇州 | 青島 | 珠海 | 大慶 | 福州 | 廈門 | 常州 | 鄭州 | 煙臺 | 西安 | 合肥 | 南寧 | 重慶 | 東營 | 昆明 | 威海 | 中山 | 南昌 | 紹興 | 太原 | 惠州 | 溫州 | 徐州 | 揚州 | 淄博 | 鎮江 | 鞍山 | 保定 | 銀川 | 南通 | 洛陽 | 嘉興 | 臺州 | 桂林 | 貴陽 | 蘭州 | 盤錦 | 漳州 | 黃石 | 唐山 | 濰坊 | 湘潭 | 肇慶 | 吉林 | 江門 | ???| 株洲 | 泉州 | 泰州 | 包頭 | 柳州 | 德州 | 韶關 | 寶雞 | 金華 | 鹽城 | 新鄉 | 十堰 | 廊坊 | 玉溪 | 濟寧 | 滄州 | 蕪湖 | 湖州 | 梧州 | 泰安 | 安陽 | 遼陽 | 舟山 | 梅州 | 常德 | 三明 | 連云港 | 哈爾濱 | 秦皇島 | 馬鞍山 | 石家莊| 呼和浩特
 
備案系統認證 舉報不良網站 我們的支付方式 AAA級信用
甘肃十一选五 旗下網站建設品牌:中外商貿 甘肃十一选五 www.trmix.com 版權所有 ©2000-2019 All Rights Reserved
網站備案編號:粵ICP備15049595號 地址:廣州市番禺區大石街北聯圍仔工業路2號E座305
電話:020-85421558   傳真:020-37376951   郵編:510515
交換PR>=4的友情鏈接合作站,歡迎同行聯系鏈接QQ:
{ganrao}