Метатег заставляет использовать IE Edge или IE8, но не IE9

0

Я сталкиваюсь с проблемой ошибки 80020101 в ie9, а половина моих классов скриптов сталкивается с этой проблемой, поэтому я не могу ее исправить, и мой сайт хорошо работает в ie8. Как я могу заставить использовать IE8, если браузер IE9, но если версия браузера выше IE 9, это должно быть использовано.

Теги:
asp.net-mvc
meta-tags

2 ответа

1

Вы можете попробовать следующее:

<!DOCTYPE html>
<html>
  <head>
    <title>My Web</title>
    <meta http-equiv="X-UA-Compatible" content="IE=80" />

Мета должна быть первой после названия. Но не уверен, что это решит проблему 80020101. Не все будет работать в IE9+, если бы использовало некоторые глубокие вещи IE 8-

Чтобы настроить границу, проверьте этот вопрос: почему IE9 открывается в режиме документа как стандарты IE7?

<meta http-equiv="X-UA-Compatible" content="IE=edge" />
  • 0
    Если я включу оба этих метатэга, устранит ли он IE9? Я имею в виду, если у пользователя IE10, я хочу, чтобы мой сайт использовал IE = edge, если у пользователя IE9, то IE8.
  • 0
    Дело в том, что не только один! но даже только первый метатег после заголовка будет использоваться. ТАК никаких комментариев ... ничего. Решит только один тег. Если я действительно нуждался (интранет) в том, чтобы творить чудеса, я делал некоторые распознавания на сервере и выводил соответствующий тег ... Условие просто не будет работать
Показать ещё 1 комментарий
0

Если я правильно понял, вы хотите заставить IE 8, когда браузер IE 9, и освободить его, когда он будет иметь более высокую версию. Вы можете сделать это с условными комментариями:

<!--[if IE 9]>
<meta http-equiv="X-UA-Compatible" content="IE=80" />
<![endif]-->

Это будет включать meta только для IE 8 и оставит его для любой другой версии. Обратите внимание, что если вы не сталкиваетесь с определенной ошибкой IE 9, вы можете иметь такую же проблему в более высоких версиях, возможно, потому, что IE 8 был поврежден). Чтобы решить эту проблему, я бы переписал ваши сценарии для работы в IE 9, и я бы условно включил старые сценарии, когда IE 8:

<!--[if lte IE 8]>
<script src=oldscript.js"></script>
<![endif]-->

<!--[if gte IE 9]>
<script src=newScript.js"></script>
<![endif]-->
  • 0
    Мои сценарии были получены от сторонней компании, и в них более 10000 строк кода, поэтому я не хочу их просматривать :). Я знал, что могу использовать ваш метод, но пока я искал ошибку 80020101, я обнаружил, что строки комментариев, содержащие «<! -», также могут вызывать эту ошибку, поэтому я не использовал этот метод, но, думаю, я не есть любой другой вариант
  • 0
    да, вторая часть - это просто возможное решение, но оно не всегда применимо. Около 80020101 ... есть 1000 причин для этого (может даже быть синтаксическая ошибка), но ничто не мешает вам добавить правильно сформированный код (поэтому не беспокойтесь о добавлении комментария <! - потому что это ничего не сломает !)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню