Классическая страница ASP автоматически устанавливает режим Quriks по умолчанию в IE 8 - PullRequest
2 голосов
/ 08 февраля 2010

При просмотре HTML IE 8 устанавливает режим документа по умолчанию как стандарт IE8, как и положено, но он входит в режим причуд на странице asp.
Даже если я использую <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> , это не очень помогает.
Что мне делать?

Ответы [ 3 ]

2 голосов
/ 08 февраля 2010

Первое, что я хотел бы сделать, это поместить идентичный вывод в файл HTM и вместо этого посетить его. Если вы получите другие результаты, то действительно происходит что-то странное, потому что я сомневаюсь, что IE8 может как-то иначе относиться к «аспу».

Кстати, откуда вы знаете, что это на самом деле входит в причудливый режим?

Что произойдет, если вы используете более сильный DTD, как это: -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Это все еще остается в причудливом режиме?

Вы не путаете совместимость IE7 с Quirksmode?

В IE7 было несколько ошибок в том, как он отображал даже стандартный режим HTML, возможно, вместо этого наблюдается совместимость с IE7.

Используйте fiddler для проверки заголовков, отправляемых с содержимым. Есть ли такой заголовок: -

X-UA-совместимый: IE = EmulateIE7

в ответе?

Есть ли кнопка «Совместимость» рядом с адресом в пользовательском интерфейсе браузера?

0 голосов
/ 09 февраля 2010

Я все время пишу классические ASP на основе стандартов. Вещи, которые нужно проверить, - это ваши HTTP-заголовки. Убедитесь, что что-то не вставлено в ваш HTTP-заголовок, чтобы заставить его использовать режим причуд. Установите флажок IIS, чтобы убедиться, что в разделе «Пользовательские заголовки HTTP» в IIS ничего не отправляется. Также убедитесь, что ваш тип документа действительно правильный. Наконец, убедитесь, что у вас нет специальных мета-тегов IE, которые могут изменить режим рендеринга. Тот факт, что классический ASP устарел, не означает, что браузер будет отображать его иначе, чем любая другая HTML-страница. Честно говоря, браузеру на самом деле даже не важно, что это за расширение. Если он указан как mime-тип html, он будет отображаться как таковой.

0 голосов
/ 09 февраля 2010

Единственное, что на самом деле работает, это <meta http-equiv="X-UA-Compatible" content="IE=8"/>, другие браузеры будут игнорировать его, но IE будет вынужден перейти в режим IE-8, если вы не сделали что-то действительно глупое, например, поместить что-то перед HTML.

...