вторник, 9 июня 2009 г.

Определить IE6 с помощью JavaScript 2

Фактически это не второй скрипт, а фикс предыдущего.


Напоминаю задачу: определить, что браузер посетителя IE6 или более древний.


В Internet Explorer в navigator.appVersion первой идет версия движка, а потом уж все остальное. Примерно так:

4.0 (compatible; MSIE 6.0; Windows NT 5.2; Win64; x64; SV1; .NET CLR 2.0.50727)


Исправленная функция:

function detectIE6(){
var browser = navigator.appName;
if (browser == "Microsoft Internet Explorer"){
var b_version = navigator.appVersion;
var re = /\MSIE\s+(\d\.\d\b)/;
var res = b_version.match(re);
if (res[1] <= 6){
return true;
}
}
return false;
}


Для выборки части строки использовались регулярные выражения.


9 Комментариев :

art комментирует...

отлично, пригодилось

Анонимный комментирует...

запользовал, сенкс

Анонимный комментирует...

Пасибо, заюзал. Бой шестому ослу.

Анонимный комментирует...

а так нельзя разве?
if(indexOf("MSIE 6.0")!==-1){ ...

Анонимный комментирует...

вот так даже
((navigator.userAgent).indexOf("MSIE 6.0"))?alert('ie 6'):alert("не ie 6");

Анонимный комментирует...

вот правильно
((navigator.userAgent).indexOf("MSIE 6.0")!==-1)?alert('ie 6'):alert("не ie 6");

Анонимный комментирует...

Нельзя. ИЕ иногда пускает 2 версии например в 8 он пускает 2 строки MSIE 8.0 и далее MSIE 6.0

Анонимный комментирует...

а не проще ли тогда сделать (navigator.userAgent).slice(0,40) - например?? а потом уже наити через indexOf

medium комментирует...

if(typeof document.body.style.maxHeight==="undefined"){alert(''ie)}

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

Жги!