2011-02-24 1 views
7

Вот код в верхней части моей страницы:Режим совместимости IE Bug

<!DOCTYPE html> 

<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]--> 
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]--> 
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]--> 
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]--> 
<head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
    <meta charset="utf-8"> 
    <title></title> 
    ... 

Я использую условный комментарий код из Paul Irish, чтобы сделать его легче обнаружить и устранить проблемы IE, однако этот код, кажется, быть причиной самой проблемы. Проблема заключается в том, что использование условного кода комментариев заставляет мою страницу работать в режиме совместимости с IE8, несмотря на то, что я явно объявляю ie=edge в соответствии с MSDN guidelines.

Удаление условного кода комментария вокруг тега html исправляет сбой и позволяет рендерить IE8 в стандартном режиме; однако я бы скорее нашел решение, которое позволяет мне сохранить условный код и по-прежнему вынуждать IE отображать в режиме соответствия стандартам. Имейте в виду, что у меня нет файла .htaccess для использования, поскольку этот сайт использует установку windows/asp.

ответ

0
+0

Но похоже, что он все еще может попробовать положить его на тег вместо этого? Не уверен, что на это повлияла одна и та же ошибка. –

+0

Ссылка больше не действительна ... – nebulousGirl

+2

Это может быть обновленная ссылка: https://github.com/h5bp/html5-boilerplate/issues/1187, которая, возможно, связана с: https://github.com/h5bp/html5-designplate/issues/378 –

0

Вы сказали:

Имейте в виду, у меня нет файла .htaccess использовать как этот сайт использует окна/настройки жерех.

Я предполагаю, что означает, что вы могли бы обойти эту проблему, указав X-UA-Compatible в качестве заголовка ответа HTTP, а не в качестве мета-тегов.

Если вы используете классический ASP, вы могли бы использовать это в верхней части файла и избавиться от мета-тег:
(я предполагаю, что вы имели в виду классический ASP на основе отсутствия ASP. NET связанные вещи в вашем профиле)

Response.AddHeader "X-UA-Compatible", "IE=edge,chrome=1" 

Этот ответ основан на слишком много гадать, на мой вкус, так что может равнину не работать.

Кроме того, этот вопрос мощь помощь:

IE8 standards mode meta tag

2

Я нашел, если комментарий в начале документов, то мета-тег может также быть в комментарии.

Он работает в любом случае, а затем он действителен HTML5!

<!–[if IE]><![endif]–> 
<!DOCTYPE html> 
<html lang="de"> 
<head> 

<title></title> 
<!–[if gte IE 8]><meta http-equiv="X-UA-Compatible" content="IE=Edge" /><![endif]–> 

В этой ситуации, как IE8 и IE9, но не content="IE=Edge,Chrome"

Поэтому, пожалуйста, только content="IE-Edge"

+0

Мне нравится идея помещать мета в условный комментарий только для IE, так как мета все равно для IE. – nebulousGirl

+0

Ввод условных чисел в не работает. Это несовместимо. – egr103

+0

Здесь написано http://nicolasgallagher.com/better-conditional-classnames-for-hack-free-css/ НО ... Я немного обеспокоен тем, что будущие версии или, возможно, даже другие браузеры будут беспорядочно если что-то еще до doctype. – user1010892

7

Пустой комментарий в начале фиксирует это.

<!--[if IE_NEEDS_THIS]><![endif]--> 
<!DOCTYPE HTML> 
<!--[if lt IE 9]><html class="lt-ie9"><![endif]--> 
<!--[if gt IE 8]><!--><html class="gt-ie8"><!--<![endif]--> 
<head> 
<meta charset="utf-8"/> 
<meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 
<title>--</title> 

Но не ставьте условный комментарий вокруг метатега. IE10 попадет в причуды.

0

Главный ответ - мертвая ссылка.

Эти шаблонный вопросы помогли мне: фрагмент кода

https://github.com/h5bp/html5-boilerplate/issues/125

https://github.com/h5bp/html5-boilerplate/issues/1187

getsetbro является правильным, но эти ссылки будут предоставлять более подробную информацию о том, почему.

+0

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

 Смежные вопросы

  • Нет связанных вопросов^_^