2010-04-09 59 views
0

我想知道在哪裏可以找到一些信息IE8如何實際處理XML頭......例如如何處理是對<?xml version="1.0"?><?xml version="1.0" encoding="utf-8"?>不同。或者如何處理ie和其他瀏覽器中的處理節點不同。如何IE8處理XML頭

另外一個問題是FF如何處理這些頭文件。它有什麼不同嗎?如果是,那究竟有什麼區別。

/馬爾科

+0

你能澄清一下你是什麼意思的XML標頭?開頭''或者「內容類型」標題? – 2010-04-09 09:56:00

+0

該文檔的內容類型是什麼? '文/ html'? '應用/ xml'? (注意:text/html不應該有XML序言:http://www.w3.org/TR/xhtml1/guidelines.html#C_1) – Quentin 2010-04-09 09:58:17

+0

我開始部分()。 – markovuksanovic 2010-04-09 11:39:38

回答

0

如何處理<?xml version="1.0" encoding="utf-8"?>不同於<?xml version="1.0"?>

它不是。默認編碼是utf-8,所以包含或省略聲明的這一部分沒有區別。

在任何情況下,當您談論處理XHTML頁面的瀏覽器作爲text/html MIME類型時,XML聲明中的編碼將被忽略;只有<meta>標籤(當然,它是基於真正的HTTP標頭)有任何作用。如果您爲它們提供不同類型的瀏覽器,則只有不同(例如,text/html指向IE,application/xhtml+xml指向其他類型)。不要這樣做。

在XHTML-as-HTML文檔中完全包含XML聲明會導致IE6以怪癖模式呈現文檔,但這是fixed in later versions

你不應該包括在XHTML-AS-HTML的XML聲明,這是IMO高度懷疑效用甚至在原生XML,作爲默認的版本和編碼幾乎總是你想要的值。

0

似乎IE瀏覽器和其他瀏覽器中的js引擎如何處理xml頭文件存在一些細微差異...在ie中使用像data.firstChild一樣返回xml頭文件,在ff和chrome中使用data.firstChild返回根元素... data對象保存從文件中提取的xml數據。例如與jquery,這將是 $ .ajax({url:'test.xml', success:function(data){ .... } });

+0

我知道這不僅與標題有關。我會說它與js引擎中的整體xml文檔處理有關。 – markovuksanovic 2010-04-09 12:30:52

+0

以下事件與問題沒有直接關係 - 但不是很遠 - 在ie中使用document.childNodes將獲取包含頭(處理節點)的子節點,而其他瀏覽器不包含。 – markovuksanovic 2010-04-11 20:28:28