如何正確地在XHTML文檔中使用JavaScript和CSS
來源:易賢網 閱讀:846 次 日期:2016-06-23 10:51:31
溫馨提示:易賢網小編為您整理了“如何正確地在XHTML文檔中使用JavaScript和CSS”,方便廣大網友查閱!

可擴展性超文本標記語言XHTML1.0第2版定義XHTML可以將HTML4.0轉換為XML1.0格式。

在越來越多的網站中,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.字符<和&不允許出現在XHTML文檔內容中,除非它們被包含在CDATA標簽中(<![CDATA[...]]>)

2.注釋標簽(<!--...-->)內容中不能包含兩個連續的橫杠(--)

3.包含在注釋標簽(<!--...-->)中的內容將被忽略

style和script內容中的問題

style和script標簽內的內容在XHTML被以XML格式(而不是HTML格式)解析時將造成一些不同的差異。

JavaScript中包含了XHTML中不能存在的字符

Javascript的一些特別字符是XHTML的CDATA標簽外不能存在的字符。

<script type="text/javascript">

var i = 0;

while(++i < 10){

//...

}

</script>

注意:上面的示例代碼并非良好的XHTML格式,因為它使用了XHTML或XML中不允許的標記"< "

在style和script內容中使用注釋

熟悉HTML的作者通常了解,將style和script標簽內容放到注釋標簽內,將在瀏覽器中隱藏這些內容,但有些瀏覽器卻不能理解它們。

<style type="text/css">

<!--

body {background-color: blue; color: yellow;}

-->

</style>

<script type="text/javascript">

<!--

var i = 0;

var sum = 0;

for (i = 0; i < 10; ++i)

{

sum += i;

}

alert('sum = ' + sum);

// -->

</script>

上面的示例說明了如何在瀏覽器中忽略注釋標簽內的內容,同時,這個示例還顯示了瀏覽器在處理text/xml格式和application/xhtml+xml格式的內容的區別。

Mozilla 1.1+ / Opera 7

不應用CSS,不執行JavaScript

Netscape 7.0x / Mozilla 1.0.x

不應用CSS,但執行JavaScript

Internet Explorer 5.5+

不顯示該文檔.(參見:https://developer.mozilla.org/Ta ... _in_XHTML_Documents )

style和javascript內含有兩個連續的橫杠(--)

在XHTML頁面的JavaScript中使用注釋標簽進行處理時產生的另一個問題就是JavaScript中會有出現兩個連續的橫杠(--)的情況:

<script type="text/javascript">

<!--

var i;

var sum = 0;

for (i = 10; i > 0; --i)

{

sum += i;

}

// -->

</script>

使用CDATA代替注釋

將script標簽內的內容放到CDATA塊中可以很好地處理注釋中出現兩個連續的橫杠的問題,不過這將使得一些低版本的瀏覽器不支持它,因為它們不能理解XML。好在,我們可以通過使用JavaScript中的注釋符對CDATA塊進行注釋以達到兼容的目的。

<script type="text/javascript">

//<![CDATA[

var i = 0;

while (++i < 10)

{

// ...

}

//]]>

</script>

推薦的xhtml與html兼容處理方式

不要在XHTML頁面中直接書寫style和script,一個好的替代方案是使用外部文件來書寫CSS和JavaScript,然后再在XHTML中進行引入。

這個推薦方案看起來非常不錯,不管怎樣,它使得頁面從text/html向application/xhtml+xml轉變的過程中,至少在接下來的這些年里不會出現什么問題。

更多信息請查看網頁制作
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看