为什么网页在IE8浏览器模式和IE7文档模式下显示?

时间:2012-08-27 20:44:09

标签: html doctype ie8-browser-mode

由于某些未知原因,我正在努力的网站保持交叉匹配浏览器和文档模式。当我打开IE8开发工具时,我看到浏览器模式是IE8,但文档模式是IE7。

我已经进行了多次doctype更改但是无法让网站自动加载到文档模式的浏览器模式,即IE8。

当前的Doctype声明:

<%@ Page Language="vb" AutoEventWireup="true"  Src="Scripts/Splash.aspx.vb" Inherits="SplashFunctionality"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Welcome to CAE's KC-135 ATS Home</title>
<link rel="stylesheet" type="text/css" href="CSS/HomeStyles.css"/>
<link rel="stylesheet" type="text/css" href="CSS/headerStyles.css"/>
<script type="text/javascript" src="Scripts/Roladex.js"></script>
<script type="text/javascript" src="Scripts/HeaderNav.js"></script>
<script type="text/javascript" src="Scripts/HomeFunctionality.js"></script>
<script type="text/javascript" src="Scripts/JSTweener.js"></script>
</head>
<body>

2 个答案:

答案 0 :(得分:2)

发生这种情况的原因通常是因为IE中的配置设置,它告诉它在某些条件下切换到兼容模式。当您浏览本地网络中的站点时,通常会发生这种情况 - 因此,当您测试正在开发的站点时,通常会发生这种情况。

当然,您可以通过更改配置来关闭它。但是,您的用户仍然可以启用该设置,因此您需要尝试在网站内处理它。

执行此操作的方法是设置X-UA-Compatible元标志,您可以使用该标志强制IE进入正确的模式。

在大多数情况下,最佳设置如下:

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

将其添加到代码的顶部,位于<head>块内。

希望有所帮助。

答案 1 :(得分:1)

要强制IE使用浏览器上的最新可用设置,如果您使用Apache,可以将其添加到.htaccess:

# ----------------------------------------------------------------------
# Better website experience for IE users
# ----------------------------------------------------------------------

# Force the latest IE version, in various cases when it may fall back to IE7 mode
#  github.com/rails/rails/commit/123eb25#commitcomment-118920
# Use ChromeFrame if it's installed for a better experience for the poor IE folk

<IfModule mod_headers.c>
  Header set X-UA-Compatible "IE=Edge,chrome=1"
  # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
  <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
    Header unset X-UA-Compatible
  </FilesMatch>
</IfModule>

可以找到更多信息(如上所述)github.com/rails/rails/commit/123eb25#commitcomment-118920

您也可以将其添加为常规元标记:

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

如果没有使用apache。

作为附注,我建议使用html5 doctype:

<!doctype html>