Заставляем работать скрипт не всегда, а только тогда когда это необходимо.
Мобильные устройства
Скрипт работает только в мобильных устройствах, и наоборот только на компьютерах
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() { //Необходимый скрипт }); }
Зависимость от браузера
Придумать проверку, чтоб скрипт работал в определенном браузере