广泛的研究并没有让我理解为什么会发生以下情况 - 我希望 SO 社区可以提供帮助......
我将为什么 HTML1113:文档模式从 IE9 标准重新启动到 QuirksD:\...
中提到的文件复制到本地文件系统并在 IE9 中打开 xml(通过在 url 栏中指定路径)。
令人惊讶的是,该行为与打开网络版本完全不同。
现在我可以理解“我的电脑”区域设置不同于 Internet 区域的设置解释了下面提到的弹出窗口,但我不明白为什么结果不同以及为什么不自动选择怪癖模式,就像在在网络上打开 xml。
当我打开本地文件时,我得到以下信息:
这无疑是由本地区域设置引起的。接下来,浏览器模式是 IE9(不是之前的自动怪癖),它在应用 XSLT 时失败:
首先,我认为这是由 MSXML6 DOM 基本设置(例如AllowXsltScript
未设置为 true)引起的,但我不再确定这一点,因为打开 Web 版本时一切正常。
那么为什么本地失败呢?
更奇怪的是,打开网络版本会导致自动怪癖模式和正确的结果,但是当我切换到本地文件的怪癖模式时,它在 MSXML6 DOM 对象上失败 - 实际上这对我来说比没有错误更有意义,因为怪癖模式可能只提供 MSXML3 (或者应该只提供 - 但是为什么网络版本中的自动怪癖可以?)。
接受后变为
现在,当再次选择 IE9 标准模式时,我得到
结果是预期的
使用本地文件时的背诵事件(除了区域设置差异):
- IE9 标准模式 XSLT8690 错误
- 切换到怪癖模式错误
- 现在可以切换回 IE9 标准模式
打开网页版时背诵事件(除了区域设置的差异):
- 自动怪癖模式
- 页面在怪癖中正确打开 - 显然 MSXML6 在自动怪癖模式下仍然使用
- 切换到IE9标准模式也可以
- 回到上面的怪癖模式错误(“参数不正确”)
是什么导致了所有这些特殊的差异?