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




что чем (6)

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

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

Пока у меня нет специальных мета-тегов.

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

Edit: Мой 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>

Answers

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

    <!DOCTYPE html>

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

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

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

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


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


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

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

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


Я знаю, что этот вопрос задавали более 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>

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

<!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 с x-ua-compatible .

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


HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Internet Explorer \ BrowserEmulation IntranetCompatibilityMode 1 -> 0







internet-explorer internet-explorer-8 internet-explorer-7 quirks-mode x-ua-compatible