Как заставить Internet Explorer отображать в стандартном режиме и НЕ в Quirks?

Я кодирую Frontend, который хорошо работает в стандартном режиме IE7 и в режиме IE8.

Когда я запускаю Internet Explorer и загружаю страницу, IE7 и IE8 переходят в режим Quirks. Как заставить IE7 и IE8 всегда загружать страницу в режиме стандартов?

У меня нет специальных мета-тегов, добавленных до сих пор.

Спасибо, что помогли мне.

Изменить: мой doctype и голова выглядят следующим образом:

<!DOCTYPE html> 
<html lang="de"> 
<head> 
    <title>...</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta charset="utf-8" />
    <script src="js/html5.js"></script> 

    (...)
</head>

Ответ 1

Это способ быть абсолютно определенным:

<!doctype html> <!-- html5 -->
<html lang="en"> <!-- lang="xx" is allowed, but NO xmlns="http://www.w3.org/1999/xhtml", lang:xml="", and so on -->
<head>
<meta http-equiv="x-ua-compatible" content="IE=Edge"/> 
<!-- as the **very** first line just after head-->
..
</head>

Причина:
Всякий раз, когда IE встречает все конфликты, он возвращается к "стандарту IE 7", игнорируя x-ua-compatible.

(Я знаю, что это ответ на очень старый вопрос, но я боролся с этим сам, и выше схема - правильный ответ. Все это работает каждый раз)

Ответ 2

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

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

и он должен делать.

Ответ 3

  • Использование html5 doctype в начале страницы.

    <!DOCTYPE html>

  • Заставить IE использовать последний режим рендеринга

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

  • Если ваш целевой браузер равен ie8, проверьте совместимые настройки в IE8

Я подробно расскажу об этом

Ответ 4

Добавление правильной декларации doctype и избежание пролога XML должно быть достаточным, чтобы избежать режима quirks.

Ответ 5

Я знаю, что этот вопрос задавали более 2 лет назад, но пока никто не упомянул об этом.

Лучший способ - использовать заголовок http

Добавление метатега в голову не всегда работает, потому что IE мог определить режим до его чтения. Лучший способ убедиться, что IE всегда использует режим стандартов - использовать пользовательский заголовок http.

Заголовок:

name: X-UA-Compatible  
value: IE=edge

Например, в приложении .NET вы можете поместить это в файл web.config.

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="X-UA-Compatible" value="IE=edge" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

Ответ 6

Возможно, что Doctype HTML5 вызывает проблемы с этими более старыми браузерами. Это также может быть связано с фанкой, связанной с HTML5 shiv.

Вы можете попробовать переключиться на один из доктринов XHTML и соответственно изменить свою разметку, по крайней мере временно. Это может позволить вам уменьшить проблему.

Разве ваш дизайн ломается, когда эти IE переключаются в режим quirks? Если это ваш CSS, вызывающий вещи для отображения странным образом, может быть стоит работать над CSS, поэтому сайт выглядит одинаково, даже когда режимы браузера переключаются.