4 回答

TA貢獻1797條經(jīng)驗 獲得超4個贊
XHTML 1規(guī)范說:
給定其內(nèi)容模型不是的元素的空實例
EMPTY
(例如,空標題或段落)不使用最小化形式(例如,使用<p> </p>
和不使用<p />
)。
XHTML DTD將腳本元素指定為:
<!-- script statements, which may include CDATA sections --><!ELEMENT script (#PCDATA)>

TA貢獻1878條經(jīng)驗 獲得超4個贊
為了增加Brad和squadette所說的,自動關(guān)閉的XML語法<script />
實際上是正確的XML,但是為了在實踐中工作,您的Web服務器還需要將您的文檔作為正確形成的XML與XML模仿類型一起發(fā)送,例如application/xhtml+xml
在HTTP中Content-Type頭(和不作為text/html
)。
但是,發(fā)送XML mimetype將導致您的頁面不被IE7解析,IE7只喜歡text/html
。
從w3:
總之,'application / xhtml + xml'應該用于XHTML Family文檔,'text / html'的使用應該僅限于HTML兼容的XHTML 1.0文檔。也可以使用'application / xml'和'text / xml',但是在適當?shù)臅r候,應該使用'application / xhtml + xml'而不是那些通用的XML媒體類型。
幾個月前我對此感到困惑,唯一可行的(與FF3 +和IE7兼容)解決方案是使用舊<script></script>
語法text/html
(HTML語法+ HTML mimetype)。
如果您的服務器text/html
在其HTTP標頭中發(fā)送類型,即使使用其他正確形成的XHTML文檔,F(xiàn)F3 +也將使用其HTML呈現(xiàn)模式,這意味著<script />
它將無法工作(這是一個更改,F(xiàn)irefox以前不那么嚴格)。
無論是否在http-equiv
文檔中使用元素元素,XML序言或文檔類型,都會發(fā)生這種情況- 一旦獲得text/html
標題,F(xiàn)irefox就會分支,這將決定HTML或XML解析器是否在文檔內(nèi)部查看,而HTML解析器無法理解<script />
。
添加回答
舉報