Изменения в IE8 User-Agent String

Автор: Topol Среда, Май 2nd, 2012 Нет комментариев

Рубрика: Операционные системы

Как Дин Хачамович уже сообщал, релиз бета-версии Internet Explorer  8 назначен на первую половину 2008 года. В связи с этим команда разработчиков IE хотела бы поделиться новой информацией о IE8.

HTTP-хедэры (от англ. header) каждого веб-запроса содержат строку, называемую «User-Agent» (далее просто UA), которая позволяет серверам идентифицировать тип и версию браузера, используемого тем или иным посетителем ресурса. За более детальной информацией рекомендуется в документ Understanding User-Agent Strings.

Вместе с релизом бета-версии IE8 мы представим обновленную UA-строку. Для IE8 мы просто заменим «MSIE 7.0″ на «MSIE 8.0″. Так, к примеру, в Windows Vista  браузер IE8 будет отправлять сайтам следующую строку:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)

Практики
Разработчикам следует обновить вебсайты, чувствительные к изменениям в UA, добавив поддержку IE8. В ходе внутреннего тестирования мы столкнулись с несколькими сайтами, которые не смогли распознать IE8, поскольку они проверяют соответствие строк. С целью обеспечить распознавание IE8 эти проверки должны быть обновлены или отключены вовсе. В статье Best Practices for detecting the Internet Explorer version приведены рекомендации и пример кода.

И как указано в статье, настоятельно не рекомендуем блокировать доступ к контенту на базе UA-строки. Если вы вынуждены разграничивать контент в зависимости от версий и, соответственно, возможностей браузеров, вы должны трижды проверить, что это не окажет влияния на новые версии браузеров. Обеспечение доступа к контенту лишь на базе UA-строки является крайне ненадежным методом определения возможностей браузера, поскольку пользователь может самостоятельно изменять настройки, блокируя запуск скриптов или расширений.

Определение бета-версий 
В ходе бета-тестирования IE7 в UA-строку была добавлена буква «b»:

Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)

Это позволяло идентифицировать, что используется бета-версия браузера. Стоит отметить, что иногда такой шаг добавлял немало проблем с совместимостью. Серверный код пытался преобразовать строку между MSIE и следующей точки с запятой в число с плавающей точкой, но по достижении литеры «b» происходила ошибка.

С целью предотвращения подобных проблем в бета-версиях IE8 мы не намерены включать литеру «b» в UA-строку бета-версий IE8. Страницы могут определять версию в случае, если они выполняются в бета-версии браузера со следующим скриптом:

Код:
if ((null != window.navigator.appMinorVersion) &&
(window.navigator.appMinorVersion.toLowerCase().indexOf(«beta»)>-1))
{
window.alert(«This is a beta browser.»)
}
else
{
window.alert(«This is NOT a beta browser.»);
}

Подмена UA-строки
Если вы уже сегодня хотите увидеть, каким образом сайты реагируют на обновленную в IE8 UA-строку, то можно использовать существующие механизмы смены строки, что позволит замаскировать IE7 под Internet Explorer 8.

Также для удобства пользователей в меню бета-версий IE будет добавлена опция, позволяющая бета-версии IE8 маскироваться под IE7 без необходимости перезагрузки. При выборе опции «Report IE7 User-Agent string» IE8 будет отправлять сайтам UA-строку из IE7, позволив бета-тестерам взаимодействовать даже с теми сайтами, которые не были обновлены для поддержки IE8.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты