在越來越多的網站中,XHTML的使用正以很快的速度取代HTML4,但是,目前一些主流瀏覽器對XHTML的支援還不是很好,加上一些網頁製作者對XHTML和HTML4之間的差異理解不夠,使得XHTML在WEB發展上進展緩慢。
XHTML是XML而不是HTML
目前,對XHTML的一個主要誤解是它是HTML的另一個版本。造成此誤解的一個事實是Microsoft Internet Explorer僅支援MIME格式為text/html的XHTML而不是被建議的application/xhtml xml格式。
當一個XHTML頁面被以text/html的MIME格式解析時,它和HTML頁面沒有任何差別,而當它以text/xml或application/xhtml xml的MIME格式解析時,它將遵從嚴格的XML書寫和顯示規則。
正確的XHTML格式是一個XML程序並且在書寫的時候需要按照以下的嚴格規則:
1.字符)
2.註釋標籤()內容中不能包含兩個連續的橫槓(--)
3.包含在註釋標籤()中的內容將被忽略
style和script內容中的問題
style和script標籤內的內容當XHTML被以XML格式(而非HTML格式)解析時將會造成一些不同的差異。
JavaScript中包含了XHTML中不能存在的字元
Javascript的一些特別字元是XHTML的CDATA標籤外不能存在的字元。
注意:上面的範例程式碼並非良好的XHTML格式,因為它使用了XHTML或XML中不允許的標記" "
在style和script內容中使用註釋
熟悉HTML的作者通常了解,將style和script標籤內容放到註釋標籤內,將在瀏覽器中隱藏這些內容,但有些瀏覽器卻無法理解它們。
style和javascript內含有兩個連續的橫槓(--)
在XHTML頁面的JavaScript中使用註解標籤進行處理時產生的另一個問題就是JavaScript中會有出現兩個連續的橫槓(--)的情況:
使用CDATA代替註解
將script標籤內的內容放到CDATA區塊中可以很好地處理註解中出現兩個連續的橫槓的問題,不過這將使得一些低版本的瀏覽器不支援它,因為它們不能理解XML。好在,我們可以透過使用JavaScript中的註解符對CDATA區塊進行註解以達到相容的目的。
建議的xhtml與html相容處理方式 不要在XHTML頁面中直接書寫style和script,一個好的替代方案是使用外部文件來書寫CSS和JavaScript,然後在XHTML中進行引入。 這個推薦方案看起來非常不錯,不管怎樣,它使得頁面從text/html轉變為application/xhtml xml的過程中,至少在接下來的這些年裡不會出現什麼問題。