JQuery, определяем Chrome

Все хорошо в этой прекрасной библиотеке, но вот незадача $.browser() определят Chrome как Safari (привет webkit). Наблюдается вплоть до версий 1.3.2 Все, наверное, умеют пользоваться поисковиками, но не удержусь закопипастить.

Итак, решение заключается в небольшом изменении в jQuery.js утилитки по определению браузера:


var userAgent = navigator.userAgent.toLowerCase();
jQuery.browser = {
	version: (userAgent.match( /.+(?:rv|it|ra|ie|me)[\/: ]([\d.]+)/ ) || [])[1],
	chrome: /chrome/.test( userAgent ),
	safari: /webkit/.test( userAgent ) && !/chrome/.test( userAgent ),
	opera: /opera/.test( userAgent ),
	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};

В различных версиях (в том числе и в pack-версиях) объявление глобальной переменной, version могут отличаться, но это для нас совершенно не важно, так как мы только добавляем полторы строчки кода :)

Думаю в следующих версиях будет фикс входить в сборку библиотеки.

Источник: javascriptly.com

таги:

Высказаться:

You must be logged in to post a comment.