Используйте условный комментарий, чтобы определить версию IE. Ну, кто -то предложил это рано, но не смотрел на код внимательно. Я случайно увидел это, когда вчера смотрел пирог CSS3, и я подумал, что это ненадежно. Я также упомянул об этом сегодня Полом Ирландцем, поэтому я рекомендую это. Это написано в блоге автора:
Кода -копия выглядит следующим образом:
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// короткий фрагмент для обнаружения версий IE в JavaScript
// не прибегая к нюханию пользователя-агента
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Если вы не в IE (или IE версия меньше 5), тогда:
// т.е. === не определено
// Если вы в т.е. (> = 5), то вы можете определить, какая версия:
// т.е. === 7; // IE7
// Таким образом, чтобы обнаружить IE:
// if (т.е.) {}
// и обнаружить версию:
// т.е. === 6 // IE6
// IE> 7 // IE8, IE9 ...
// т.е. <9 // Все, что меньше, чем IE9
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Обновление: теперь используя идею NodeList от @Jdalton
var IE = (function () {
var undef,
v = 3,
div = document.createElement ('div'),
all = div.getElementsbytagname ('i');
Пока (
div.innerhtml = '<!-[if gt ie' + (++ v) + ']> <i> </i> <! [endif]->',
Все [0]
);
возврат V> 4? V: Undef;
} ());
Обратите внимание на это, пока заявление. Это то, что я нахожу самым интересным. Для оператора запятой. Я не знаком с этим, и я просто застрял с использованием определений переменных. например:
Кода -копия выглядит следующим образом:
var a = 'b', c = 'd', e = 'f';
var obj = {
A: 'B',
C: 'D',
E: 'f'
}
Я спросил моего коллеги @kangpangpang и снова проверил книгу. На самом деле, это относительно редко. Обычно последнее значение возвращается.
Кода -копия выглядит следующим образом:
var a = (1,2,3,5,6,0,9,4); // a === 4
Ну, это, наверное, это. Очень интересно.