Почему веб-страница отображается в режиме браузера IE8 и в режиме документа IE7?

По какой-то неизвестной причине сайт, над которым я работаю, постоянно пересекает браузер и режим документов. Когда я открываю инструменты разработки IE8, я вижу, что режим браузера IE8, а режим документа IE7.

Я внес несколько изменений в тип документа, но не могу автоматически загрузить сайт в режиме браузера для режима документа, а именно 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 ответа

Причина, по которой это происходит, обычно связана с настройкой конфигурации в IE, которая говорит ему о необходимости перехода в режим совместимости при определенных условиях. Это часто происходит, когда вы просматриваете сайт в своей локальной сети, поэтому часто это происходит, когда вы тестируете сайт, который разрабатываете.

Вы можете, конечно, отключить его, изменив конфигурацию. Но у ваших пользователей все еще есть возможность включить этот параметр, поэтому вам нужно попытаться справиться с ним на сайте.

Способ сделать это, чтобы установить X-UA-Compatible мета-флаг, который вы можете использовать для принудительного включения IE в правильный режим.

В большинстве случаев наилучшие настройки для этого следующие:

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

Добавьте это в начало вашего кода, внутри <head> блок.

Надеюсь, это поможет.

Чтобы заставить IE использовать последние доступные настройки в браузере, вы можете добавить это в ваш.htaccess, если вы используете Apache:

# ----------------------------------------------------------------------
# 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>

Более подробную информацию можно найти (как указано) http://github.com/rails/rails/commit/123eb25

Вы также можете добавить это как обычный метатег:

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

если apache не используется.

И в качестве примечания я бы предложил использовать тип документа html5:

<!doctype html>
Другие вопросы по тегам