首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制Internet Explorer 9使用标准文档模式

强制Internet Explorer 9使用标准文档模式
EN

Stack Overflow用户
提问于 2012-06-11 14:04:42
回答 9查看 143.8K关注 0票数 72

如何强制Internet Explorer 9使用标准文档模式?我建立了一个网站,我发现IE9使用quirks模式来呈现网站页面。但我想使用标准模式进行渲染。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-06-11 14:42:19

代码语言:javascript
复制
 <!doctype html>
 <meta http-equiv="X-UA-Compatible" content="IE=Edge">

这使得IE的每个版本都使用其标准模式,因此IE 9将使用IE 9标准模式。(如果您希望更新版本的IE也专门使用IE9标准模式,则可以用9替换Edge。但是很难理解你为什么要这样做。)

有关解释,请参阅http://hsivonen.iki.fi/doctype/#ie8 (它看起来相当混乱,但这是因为IE的行为很混乱)。

票数 128
EN

Stack Overflow用户

发布于 2014-03-07 02:41:59

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

meta标记必须是head标记之后的第一个标记,否则将不起作用。

票数 18
EN

Stack Overflow用户

发布于 2013-08-21 02:39:17

关于这个主题有一些非常重要的东西,已经被触及,但没有完全解释。HTML方法(在头部添加一个meta标签)只能在原始HTML或非常基本的服务器页面上一致地工作。我的网站是一个非常复杂的服务器驱动的网站,有母版页,主题和许多第三方控件,等等。我发现这些控件中的一些正在以编程方式将它们自己的标签添加到最终的HTML中,这些标签在head标签的开头被推送到浏览器。这有效地使HTML元标记变得无用。

好吧,如果你不能打败他们,就加入他们。对我有效的唯一解决方案是在母版页的预渲染事件中执行完全相同的操作:

代码语言:javascript
复制
Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
    Dim MetaTag As HtmlMeta = New HtmlMeta()
    MetaTag.Attributes("http-equiv") = "Content-Type"
    MetaTag.Attributes("content") = "text/html; charset=utf-8;"
    Page.Header.Controls.AddAt(0, MetaTag)

    MetaTag = New HtmlMeta()
    MetaTag.Attributes("http-equiv") = "X-UA-Compatible"
    MetaTag.Attributes("content") = "IE=9,chrome=1"
    Page.Header.Controls.AddAt(0, MetaTag)
End Sub

这是VB.NET,但同样的方法也适用于任何服务器端技术。只要你确保这是在页面呈现之前完成的最后一件事。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10975107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档