我有一个简单的xml加上xslt,当在IE9中打开时,会添加一个元标记。 xml是
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test.xslt"?>
<root/>
xslt添加了一个元标记,如下所示
<xsl:output method="html" version="5.0" doctype-public="-//W3C//DTD HTML 4.0//EN"/>
<xsl:template match="/">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<title>Example</title>
</head>
...
现在,当我在IE9中打开文件时,开发人员工具显示它可以在IE9标准模式下打开,但它有两个元标记。显然,IE9在加载和应用xslt的过程中添加了一个。
我想知道两件事:
(1)这会影响文件在IE9(或早期的IE版本)中的显示方式吗?
(2)为什么IE9会添加第二个元标记,是否可以避免?
答案 0 :(得分:0)
我进一步研究了这个问题并找到了我想要的答案。
meta
http-equiv
打算设置http标头字段。因为Content-type和X-UA-Compatible是不同的http头字段,所以它们不会相互干扰(如果xslt会添加Content-type元标记,IE9会添加另一个,会发生什么有趣的问题)
IE9在转换下载xml文件时收到的字节顺序标记时,显然会将元标记添加到html标头中; BOM是一个utf-16,因此会覆盖xml标题中的utf-8(因此HTML1114消息)。
这可以避免吗?我猜不是。