2010-04-09 61 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