我在IE9中打开了一个网页,突然文档模式切换到Quirks模式。该页面非常简单-没有doctype,没有meta标签,只有一个(test purpose)的JavaScript代码作为xslt的一部分构成了页面。
请查看使用相同位置上提到的xsl文件的http://home.arcor.de/martin.honnen/xslt/test2012041901.xml。 为方便起见,我在下面复制了内容。
另外:早先在同一页面上,这种自动怪异模式并没有发生——我必须做了些什么,比如更改了某个设置,甚至只是来回切换到原始值,导致了这种改变行为。但是是什么呢?
F12开发人员工具在控制台中显示以下内容:
请查看使用相同位置上提到的xsl文件的http://home.arcor.de/martin.honnen/xslt/test2012041901.xml。 为方便起见,我在下面复制了内容。
页面内容是:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test2012041901.xsl"?>
<test/>
并且xsl包含
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:my="http://example.com/my"
exclude-result-prefixes="ms my">
<xsl:output method="html" version="5.0"/>
<ms:script language="JScript" implements-prefix="my">
<![CDATA[
function tokenize (input) {
var doc = new ActiveXObject('Msxml2.DOMDocument.6.0');
var fragment = doc.createDocumentFragment();
var tokens = input.split(';');
for (var i = 0, l = tokens.length; i < l; i++)
{
var item = doc.createElement('item');
item.text = tokens[i];
fragment.appendChild(item);
}
return fragment.selectNodes('item');
}
]]>
</ms:script>
<xsl:template match="/">
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Example</h1>
<ul>
<xsl:apply-templates select="my:tokenize('Kibology;for;all')"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="item">
<li>
<xsl:value-of select="."/>
</li>
</xsl:template>
</xsl:stylesheet>
为什么会发生这种情况?是互联网选项设置引起的吗?如何防止IE9自动选择怪异模式?另外:早先在同一页面上,这种自动怪异模式并没有发生——我必须做了些什么,比如更改了某个设置,甚至只是来回切换到原始值,导致了这种改变行为。但是是什么呢?
F12开发人员工具在控制台中显示以下内容:
XML5001: Applying Integrated XSLT Handling.
HTML1114: Codepage unicode from (UNICODE byte order mark) overrides conflicting codepage utf-8 from (10)
test2012041901.xml
HTML1113: Document mode restart from IE9 Standards to Quirks
test2012041901.xml
HTML1114: Codepage unicode from (UNICODE byte order mark) overrides conflicting codepage utf-8 from (10)
test2012041901.xml
不确定字节顺序标记消息是什么意思 - 也许与这个问题有关?
哦,开发工具在脚本部分也显示了这个:
㼼浸敶獲潩㵮ㄢ〮•湥潣楤杮∽呕ⵆ∸㸿㰊砿汭猭祴敬桳敥⁴祴数∽整瑸砯汳•牨晥∽整瑳〲㈱㐰㤱砮汳㼢ਾ琼獥⽴ਾ
请注意,所有这些只在新打开的标签页中发生,而不会影响已经以怪异模式存在的现有标签页。