Javascript: загрузка другой таблицы стилей для IE9 - PullRequest
2 голосов
/ 12 января 2012

Итак, я хотел написать функцию, которая бы проверяла, использует ли пользователь IE / IE9, и условно загружала отдельную таблицу стилей, если она истинна. Прочитал тонну документации, но, кажется, нет единого согласованного и недавнего (около 2011 года) ответа, который я мог бы найти.

Итак, вопросы:

1) Какой предпочитаемый и самый современный метод обнаружения в браузере? Проверка на document.attachEvent - это то, что я использую, но есть ли лучший способ?

2) Как вы предпочитаете динамически изменять таблицы стилей на основе браузера? setAttribute не работает на <style>, не знаю, как это сделать.

Спасибо заранее, Denis

Ответы [ 2 ]

4 голосов
/ 12 января 2012

Вы ищете Условные комментарии

<!--[if IE 9]>
your IE9 stylesheet
<![endif]-->
1 голос
/ 12 января 2012

вы можете сделать это многими способами

1) Проверка CSS

<!--[if lt IE 7]>your stylesheet for ie < 7 <![endif]-->
<!--[if IE 7]>your stylesheet for ie7<![endif]-->
<!--[if IE 8]>your stylesheet for ie8<![endif]-->
<!--[if IE 9]>your stylesheet for ie9<![endif]-->

2) по проверке JavaScript

var isIe = (navigator.appName == "Microsoft Internet Explorer")
var isIe9 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 9") != -1)

3) использование сторонних библиотек типа Modernizr

...