【问题标题】:How to set the IE Browser mode rather than setting Document mode如何设置IE浏览器模式而不是设置文档模式
【发布时间】:2013-07-16 10:45:39
【问题描述】:

如何设置IE浏览器模式而不是设置文档模式? 为什么是浏览器模式和文档模式? 我们使用这两种不同模式的目的是什么?

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

它只会改变文档模式。 是否可以通过编程方式更改 IE 浏览器模式?

【问题讨论】:

    标签: javascript asp.net internet-explorer internet-explorer-8 internet-explorer-9


    【解决方案1】:

    这两种模式做两种不同的事情:

    • 文档模式决定了 IE 如何呈现页面。

    • 浏览器模式决定了 IE 如何识别自己——即它的用户代理字符串。

    X-UA-Compatible 标志设置文档模式。无法通过代码单独显式设置模式;这只能在开发工具中手动完成。 (但见下文‡

    这意味着,如果您依赖用户代理字符串来识别浏览器,那么使用 X-UA-Compatible 会得到不正确的结果,因为浏览器识别自身的方式与其实际呈现的方式不同。

    这一切的结果是你应该避免使用用户代理字符串来识别浏览器;它可以骗你,而且经常这样。

    如果可能的话,避免使用X-UA-Compatible 来强制 IE 使用兼容模式也是一个好主意——如果您发现自己需要兼容模式,那是因为您的网站在旧 IE 版本中比在新版本中运行得更好.鉴于较新的版本更符合标准,这可能意味着您的代码中有需要修复的错误。理想情况下,您应该修复这些错误,而不是切换到兼容模式;兼容模式只能作为最后的手段使用。


    () 值得注意的是,即将发布的 IE11 中的这一变化将在大多数情况下移除通过开发工具设置浏览器和文档模式的功能。 IE 开发者正试图减少人们使用兼容模式的动机,并鼓励人们编写更多符合标准的代码。

    【讨论】:

    • 仍然没有回答这个问题。我们可以设置浏览器模式吗?
    猜你喜欢
    • 2013-06-15
    • 1970-01-01
    • 2012-08-24
    • 2020-01-10
    • 2012-09-05
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多