Для мене маленьке - це красиво, тому я використовую цю техніку:
У файлі CSS:
/* Smartphones ----------- */
@media only screen and (max-width: 760px) {
#some-element { display: none; }
}
У файлі jQuery / JavaScript:
$( document ).ready(function() {
var is_mobile = false;
if( $('#some-element').css('display')=='none') {
is_mobile = true;
}
// now i can use is_mobile to run javascript conditionally
if (is_mobile == true) {
//Conditional script here
}
});
Моя мета полягала в тому, щоб мій сайт був "зручним для мобільних пристроїв". Тому я використовую CSS Media Queries (показувати / приховувати елементи) залежно від розміру екрана.
Наприклад, у моїй мобільній версії я не хочу активувати Facebook Like Box, оскільки він завантажує всі ці зображення профілю та ін. І це не добре для мобільних відвідувачів. Отже, окрім приховування елемента контейнера, я також це роблю всередині блоку коду jQuery (вище):
if(!is_mobile) {
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/pt_PT/all.js#xfbml=1&appId=210731252294735";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
}
Ви можете побачити це в дії на сайті http://lisboaautentica.com
Я все ще працюю над мобільною версією, тому все ще не виглядаю як слід, як писати це.
Оновлення від dekin88
Є вбудований API JavaScript для виявлення медіа. Замість використання вищевказаного рішення просто використовуйте наступне:
$(function() {
let isMobile = window.matchMedia("only screen and (max-width: 760px)").matches;
if (isMobile) {
//Conditional script here
}
});
Підтримка веб-переглядача: http://caniuse.com/#feat=matchmedia
Перевага цього методу полягає в тому, що він не тільки простіший і коротший, але ви можете умовно орієнтувати різні пристрої, такі як смартфони та планшети, окремо, якщо це необхідно, без необхідності додавати будь-які фіктивні елементи в DOM.