Заставляем работать скрипт не всегда, а только тогда когда это необходимо.
Мобильные устройства
Скрипт работает только в мобильных устройствах, и наоборот только на компьютерах
var isMobile = {
Android: function() { return navigator.userAgent.match(/Android/i) ? true : false; },
BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i) ? true : false; },
iOS: function() { return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false; },
Windows: function() { return navigator.userAgent.match(/IEMobile/i) ? true : false; },
any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Windows()); }
};
if ( !isMobile.any() ) {
// Код не для телефонов
//alert( "Код не для телефонов" );
}else{
// Код для телефонов
//alert( "!!!!!!! Для телефонов" );
}
Если проверять работу в «Средствах разработчика» надо перезагрузиться, т.к. при переходе скрипт не перезагружается
Зависимость от ширины экрана
В jQuery можно исполнять функции в зависимости от ширины экрана
jQuery(document).ready(function(){
width = $(window).width();
if (width <= 480) {
jQuery('ul.berocket_aapf_widget li').click(function() {
alert ('resolution480');
});
}
});
Пример для простой загрузки и обновления Ajax
$(document).bind('ready ajaxComplete', function(){
width = $(window).width();
if (width <= 480) {
jQuery('ul.berocket_aapf_widget li').click(function() {
alert ('resolution480');
});
}
});
Если различных функций несколько можно полученную ширину зафиксировать в переменной
// делаете переменную в начале кода
var isMobile = false;
// проверка на размер экрана (размер я брал вроде с Bootstrap-а)
$(document).ready( function() {
if ($('body').width() <= 400) {
isMobile = true;
}
// и потом если нужен код только для телефона:
if (isMobile) {
...
}
// или для остальных
if (!isMobile) {
...
}
} );
Или вот, боле простой вариант:
if (screen && screen.width > 800) {
$(document).ready(function() {
//Необходимый скрипт
});
}
Зависимость от браузера
Придумать проверку, чтоб скрипт работал в определенном браузере

