-> ->

Internet Explorer 11 прячется от веб-сайтов

После недавнего релиза первой превью-версии Internet Explorer 11 на платформе Windows 8.1 можно заметить кроме появления такого вкусного функционала как WebGL, предзагрузка данных, поддержка FlexBox, SPDY и других веб-стандартов ещё и скрытие идентификации браузера как IE.

Ранее уже ходили слухи о том, что браузер Internet Explorer теперь в строке user-agent, передаваемой на сервер, добавляет информацию "like Gecko", а теперь IE11 и вовсе отдаёт на сервер переменную user-agent следующего вида:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

Именно так, превью-версия IE11 не добавляет информацию "MSIE" или IE в строку user-agent как это было в IE10 и всех предыдущих версиях, тем самым многие веб-сайты, которые ранее с помощью данной строки определяли браузер, теперь не будут обрабатывать IE как сторонний браузер, а будут обрабатывать в "общем" потоке. Стоит отметить, что первые сборки IE 11 (до превью-версии) обладали полной строкой user-agent с использованием идентификатора IE11.

Internet Explorer 11 Logo

Также компания Microsoft рекомендует отказаться от функций isIE() и подобных переменных в JavaScript, так как IE11 будет возвращать в таких случаях значение "false", ложь. Кроме этого ещё и переменные navigator.appName и navigator.product возвращают совсем другую информацию:

  • navigator.appName возвращает "Netscape".
  • navigator.product возвращает "Gecko".

Как результат, во многих случаях при использовании JavaScript-функций для определения браузера будет выбран путь обработки Gecko-поведения браузера. И на это есть свои причины, о которых ниже.

В IE11 изменили и удалили некоторые JavaScript-функции, аналоги которых уже давно используются в качестве стандарта и реализованы во всех современных браузерах. Итак, первым под нож пошёл набор document.all, который теперь возвращает значение "false", этот пережиток прошлого находился в браузере до версии IE10, включительно, по большому счёту для совместимости.

Ещё один часто используемый метод attachEvent был удалён из Internet Explorer 11, как и detachEvent, рекомендуется использовать общепризнанный аналог addEventListener.

Кроме этого были устранены следующие возможности:

  • window.execScript() – аналог eval().
  • window.doScroll() – скроллинг страниц в IE.
  • script.onreadystatechange – проверка готовности скриптов.
  • script.readyState – проверка загрузки скриптов.
  • document.selection – получение выделенного текста.
  • document.createStyleSheet – добавление нового стиля.
  • style.styleSheet – определение стиля в виде объекта.

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

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

Что же сделали в Microsoft? Замена строки user-agent позволяет изменить поведение веб-сайтов, которые теперь не будут идентифицировать браузер как IE и соответственно обрабатывать его отдельными правилами, а считать, что это браузер на двигателе Gecko и как результат - веб-сайты будут корректно работать в новом IE11, но пока эту теорию ещё следует проверить на практике, чем сейчас Microsoft и занимается.

Подобный ход применили именно в превью-версии браузера IE11, это выгодное решение добавит время на мониторинг и исправление проблем, которые могут возникнуть у тестовой группы (пользователей, которые скачают и установят Internet Explorer 11 Preview), проверив новый подход - конечные пользователи финальной версии IE11 получат уже рабочее решение.

Поставить рейтинг:(Рейтинг: 2.81, оценок: 292)
 
Поделитесь новостью:

New! Полная статистика популярности браузеров по Рунету и миру. Системы сбора статистики LiveInternet, OpenStat, StatCounter в одном месте. Данные по всем популярным браузерам, таким как Google Chrome, Mozilla Firefox, Яндекс.Браузер, Opera, Microsoft Internet Explorer, а также альтернативным браузерам.

Возможно, Вам будут интересны новости:
События в тоже время:

Комментарии

Андрей

2014-01-16 23:55:52

Интересно, что многие сайты выводят сообщение, "ваш браузер устарел", хотя установлен IE11 и просят загрузить... IE11

Чтобы оставить комментарий - зарегистрируйтесь или авторизуйтесь через любимый сервис (ВКонтакте, Одноклассники, Twitter и др.) с помощью OpenID.