Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   jQuery - определение ОС и браузера (https://javascript.ru/forum/css-html/10215-jquery-opredelenie-os-i-brauzera.html)

Sokol_2 23.06.2010 23:07

jQuery - определение ОС и браузера
 
Привет всем!

Мне тут нужно уже сготовым сайтом разобраться, сгрузил и начал просматривать HTML код страницы. Там увидел слдующее:


jQuery(function()                                          
{                                                                
  jQuery.os =  { name: (/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase()) || [u])[0].replace('sunos', 'solaris') };      
  var speed = jQuery.browser.mozilla && parseFloat(jQuery.browser.version) >= 1.9 ? 0 : 200;    
  jQuery('.main-menu').menu({ vertical: ['.inner1'],
                              horizontal: ['.inner2'],
                              container: '.main-area',
                              hideAnimation: ( jQuery.browser.mozilla && jQuery.os.name == 'mac' ? 0 : 200),
                              showAnimation: ( jQuery.browser.mozilla && jQuery.os.name == 'mac' ? 0 : speed) 								});
jQuery('a[rel=external]').attr({target : '_blank'});
});


Что сие означает, и если можно, то приведите упрощённый вариант кода.

Заранее благодарен

exec 23.06.2010 23:12

// Достаём регулярками название ОСи из свойства navigator.platform
jQuery.os =  { name: (/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase()) || [u])[0].replace('sunos', 'solaris') }; 

// Проверяем на браузер FF 1.9+ и в зависимости от этого присваиваем speed значение 0 или 200
  var speed = jQuery.browser.mozilla && parseFloat(jQuery.browser.version) >= 1.9 ? 0 : 200;

Sokol_2 23.06.2010 23:28

Спасибо

Crusader 13.02.2013 13:49

то же столкнулся с таким определением оси, и возникает вопрос что за || [u] ? Дело в том, что у меня navigator.platform пустой


Часовой пояс GMT +3, время: 07:11.