2013-11-29 2 views
0

У меня есть веб-приложение, предназначенное для работы в < версиях IE9. С обновлением всей компании до новых версий IE приложение работает хорошо, только если я включу «представление совместимости».Совместимость с IE или нет?

  • Действительно ли это хорошо? Я имею в виду, это действительно долгосрочное решение? Или мне нужно перепроектировать мое приложение для поддержки новых версий IE, хотя я не предвижу использовать какие-либо новые функции HTML5?
  • Как долго MS будет поддерживать переключатель совместимости? Что в IE 12+, если нет такого варианта?
  • Есть ли какой-либо документ, содержащий список элементов, которые я должен исправить, чтобы совместимость моего приложения в старых и новых IE?
+0

Есть несколько источников совместимости элементов в браузерах и разных версиях браузеров, среди которых мой любимый [Can I Use ...] (http://caniuse.com/). –

ответ

2

Действительно ли это хорошо? Я имею в виду, это действительно долгосрочное решение? Или мне нужно перепроектировать мое приложение для поддержки новых версий IE, хотя я не предвижу использовать какие-либо новые функции HTML5?

Нет, это никогда не предназначалось для долгосрочного решения. Вы должны обязательно перепроектировать свое приложение, если сможете. Вам не нужно использовать какие-либо новые функции HTML5, чтобы соответствовать веб-стандартам - это абсолютно разные вещи.

Если ваше приложение плохо работает в последних версиях IE, это происходит не потому, что вы не используете HTML5. Скорее всего, потому, что он был разработан таким образом, чтобы полагаться на проблемы со старыми версиями, из-за которых они вели себя нестандартно. Например, он может полагаться на проблемы с тем, как IE6 или IE7 обрабатывали определенные HTML-элементы или стили CSS.

Как долго MS будет поддерживать переключатель совместимости? Что в IE 12+, если нет такого варианта?

Кнопка просмотра совместимости уже прошла в IE11; единственный способ заставить сайт использовать его - добавить его в список в настройках просмотра совместимости, как описано here. Вы можете видеть, что Microsoft уже предпринимает меры по постепенному прекращению этой функции, хотя и постепенно.

Вы также можете использовать X-UA-Compatible заголовок, который был введен в IE8 для emulate IE7 document mode:

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

Но даже это также устаревшее в IE11, поэтому еще раз, если вы используете его, не знаю, что это уже не жизнеспособны в долгосрочной перспективе.

Есть ли какой-либо документ, содержащий список элементов, которые я должен исправить, чтобы приложение совместимо со старыми и новыми IE?

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

К счастью, сегодня есть много хороших ресурсов, которые помогут вам разработать самые современные стандарты. В частности, когда дело доходит до работы с IE, хорошим стартовым ресурсом является modern.IE.

+0

У меня есть IE 11, и мне удалось включить представление Compatibility. В разделе «Инструменты»> «Параметры совместимости» затем добавьте свой домен в список. – James

0

Если вы не собираетесь добавлять много функций, вам не нужно его обновлять. Вы можете принудительно использовать совместимость с помощью заголовков на своей странице.

Это в основном js, который ломается, хотя иногда и css/html тоже. Самая большая проблема: вам, вероятно, нужно обновить свои js-библиотеки, если вы хотите оставаться в курсе событий, иначе все, что пересекает браузер, нормализует выполняемые ими функции (объединение нескольких реализаций браузера в 1 функцию), будет отсутствовать охват версий браузера, выпущенных после даты выпуска библиотеки js.

В заключение я считаю, что безопасно использовать представление совместимости и сэкономить время/усилия, но вы должны убедиться, что Microsoft предоставляет график устаревания. И если это приложение, которое будет работать в течение длительного времени, вы можете получить актуальность только потому, что теоретически его проще обновлять с каждым циклом, поскольку он заставит вас реорганизовать в более независимую от браузера кодовую базу.

Кроме того, проконсультируйтесь с вашей компанией - для внутренних приложений они обычно контролируют эти вещи. & сообщит своим сотрудникам о том, что они не будут обновляться до тех пор, пока не будут проинструктированы.