【问题标题】:How does IE8 handle xml headerIE8 如何处理 xml 标头
【发布时间】:2010-04-12 04:33:09
【问题描述】:

我想知道在哪里可以找到一些信息 IE8 实际如何处理 xml 标头...例如如何处理 <?xml version="1.0" encoding="utf-8"?><?xml version="1.0"?> 不同。或者在ie和其他浏览器中处理节点的处理方式有何不同。

另一个问题是 FF 如何处理这些标题。有什么不同吗?如果是,具体有什么区别。

/马尔科

【问题讨论】:

  • 你能澄清一下你所说的 XML Header 到底是什么意思吗?开头的<? ?> 还是content-type 标头?
  • 文档作为什么内容类型提供服务? text/html? application/xml? (注意:text/html 不应有 XML 序言:w3.org/TR/xhtml1/guidelines.html#C_1
  • 我将开口部分 ( ?>)。

标签: javascript firefox internet-explorer-8 cross-browser


【解决方案1】:

<?xml version="1.0" encoding="utf-8"?><?xml version="1.0"?> 的处理方式有何不同

不是。默认编码为utf-8,因此包含或省略该部分声明没有区别。

在任何情况下,当您谈论处理作为text/html MIME 类型的XHTML 页面的浏览器时,XML 声明中的编码将被忽略;只有<meta> 标记(当然还有它所基于的真实HTTP 标头)有任何作用。如果您为它们提供不同类型的浏览器(例如,text/html 给 IE,application/xhtml+xml 给其他浏览器),则它们之间只有区别。不要那样做。

在 XHTML-as-HTML 文档中完全包含 XML 声明会导致 IE6 以 Quirks 模式呈现文档,但那是 fixed in later versions

您不应该在 XHTML-as-HTML 中包含 XML 声明,即使在原生 XML 中,它的 IMO 实用性也非常值得怀疑,因为默认版本和编码几乎总是您想要的值。

【讨论】:

    【解决方案2】:

    似乎在 IE 和其他浏览器中的 js 引擎如何处理 xml 标头方面存在一些细微的差异……在 ie 中使用类似 data.firstChild 的东西返回 xml 标头,而在 ff 和 chrome 中使用 data.firstChild 返回根元素。 .. 数据对象保存从文件中获取的 xml 数据。例如使用 jquery $.ajax({ url: 'test.xml', 成功:函数(数据){ …… } });

    【讨论】:

    • 我知道这不仅仅与header有关。我会说它与 js 引擎中的整体 xml 文档处理有关。
    • 以下内容与问题没有直接关系 - 但也不是很远 - 在 ie 中使用 document.childNodes 将获取包含标题(处理节点)的子节点,而其他浏览器不会。
    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 2012-12-02
    • 2018-03-22
    • 2021-10-12
    • 2018-11-15
    • 2017-01-12
    相关资源
    最近更新 更多