W3C驗(yàn)證并不是要求你的網(wǎng)站一定要通過(guò),但是它能告訴你你的網(wǎng)站HTML標(biāo)記語(yǔ)言中的錯(cuò)誤。驗(yàn)證器中指出的錯(cuò)誤和警告是提示你的XHTML代碼還不夠完美的重要信號(hào),雖然在不同的瀏覽器中會(huì)看起來(lái)并不太一致。下面列出了10常見(jiàn)的錯(cuò)誤并附帶了解決辦法供開(kāi)發(fā)者參考。
在文章開(kāi)始之前,先給大家?guī)讞l不錯(cuò)的建議供大家實(shí)踐。
忽略警告信息。如果驗(yàn)證器顯示你的頁(yè)面中有12處錯(cuò)誤83處警告,那么你只需考慮其中的錯(cuò)誤項(xiàng)目即可依次修復(fù)錯(cuò)誤。
按照從下到下的順序修復(fù)其中的錯(cuò)誤,因?yàn)闉g覽器在讀取HTML代碼時(shí)是按照從上到下的順序的,所以你按照兩樣的方式修復(fù)錯(cuò)誤最省事。
每修復(fù)一項(xiàng)錯(cuò)誤即重新驗(yàn)證一次。經(jīng)常出現(xiàn)的現(xiàn)象是前面的一個(gè)錯(cuò)誤往往引起下面一系列的問(wèn)題。同樣,有時(shí)候,如果方式得當(dāng)修復(fù)一個(gè)錯(cuò)誤可以修復(fù)后面的好幾處錯(cuò)誤。每次修改之后重新驗(yàn)證可以保證你完全修復(fù)頁(yè)面中的錯(cuò)誤。
上面的幾條小技巧后,讓我們看看我們的網(wǎng)站不能通過(guò)W3C驗(yàn)證的10個(gè)常見(jiàn)原因。
1 未閉合的div標(biāo)簽
頁(yè)面布局不能通過(guò)驗(yàn)證的最為常見(jiàn)的原因。div這種布局模式有多流行這個(gè)錯(cuò)誤就有多流行。未閉合的div標(biāo)簽是布局錯(cuò)誤中最最經(jīng)常出現(xiàn)、也是最難發(fā)現(xiàn)的一個(gè)錯(cuò)誤。驗(yàn)證器并不總能準(zhǔn)確地指出錯(cuò)誤出現(xiàn)的位置,因此發(fā)現(xiàn)這個(gè)錯(cuò)誤有時(shí)候也無(wú)異于大海撈針。
2 可惡的embed標(biāo)簽
90年代初,微軟和網(wǎng)景瀏覽器開(kāi)始意識(shí)到單純地文本標(biāo)簽根本不能完全實(shí)現(xiàn)標(biāo)準(zhǔn)化。但是不幸的是,雖然我們現(xiàn)在廣泛地使用embed這類的標(biāo)簽,W3C并沒(méi)有意識(shí)到他們的重要性。如果你確實(shí)想通過(guò)strict DOCTYPE驗(yàn)證,你必須放棄使用embed標(biāo)簽。
3 不恰當(dāng)?shù)腄OCTYPE聲明
一個(gè)錯(cuò)誤是文檔中要么沒(méi)有聲明DOCTYPE,要么聲明DOCTYPE錯(cuò)誤。作為一系列文檔標(biāo)準(zhǔn),Strict DOCTYPE是要求最為嚴(yán)格的標(biāo)準(zhǔn)。Strict DOCTYPE意味著你的網(wǎng)頁(yè)在各種瀏覽器中顯示時(shí)都是最為標(biāo)準(zhǔn)的方式。下面是Strict DOCTYPE的一個(gè)示例:
view plaincopy to clipboardprint?
<!--!doctype-->
<!--!doctype-->
4 尾部的斜杠問(wèn)題
網(wǎng)站沒(méi)有通過(guò)難,那很可能是在你的代碼中缺少了一個(gè)斜杠(/)。其實(shí)這類錯(cuò)誤是很容易發(fā)現(xiàn)的,特別是像在image標(biāo)簽中。例如:
view plaincopy to clipboardprint?
5 對(duì)齊方式
TYPE為T(mén)ransitional的文檔中使用對(duì)齊標(biāo)簽align沒(méi)有任何問(wèn)題,但是如果你在更加嚴(yán)格的模式Strict下驗(yàn)證,那么你將會(huì)看到一個(gè)錯(cuò)誤提示。align標(biāo)簽是標(biāo)簽語(yǔ)言又一個(gè)不能使用的標(biāo)簽。替代他的是在樣式表中使用float或者text-align。
6 JavaScript
明了Strict DOCTYPE,那么你需要把你的JS代碼包含一對(duì)可換行CDATA標(biāo)簽中。這方面很多開(kāi)發(fā)者已經(jīng)在使用了,比如一些廣告和跟蹤功能的JavaScript代碼需要必須寫(xiě)在一行里。如果你的頁(yè)面中包含JavaScript代碼,只需在其前后加上如下代碼:
view plaincopy to clipboardprint?
[xss_clean]用作品證明實(shí)力,網(wǎng)站建設(shè)行業(yè)排名前列