Как я узнаю, что используемое устройство является Android для мобильного сайта?
Мне нужно применить некоторые атрибуты css на платформе Android.
Спасибо
Как я узнаю, что используемое устройство является Android для мобильного сайта?
Мне нужно применить некоторые атрибуты css на платформе Android.
Спасибо
Взгляните на это: http://davidwalsh.name/detect-android
JavaScript:
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
// Do something!
// Redirect to Android-site?
window.location = 'http://android.davidwalsh.name';
}
PHP:
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(stripos($ua,'android') !== false) { // && stripos($ua,'mobile') !== false) {
header('Location: http://android.davidwalsh.name');
exit();
}
Как об этом однострочном лайнере?
var isAndroid = /(android)/i.test(navigator.userAgent);
Модификатор i
используется для выполнения нечувствительности к регистру.
Техника, взятая из тестового проекта Cordova AdMob: https://github.com/floatinghotpot/cordova-admob-pro/wiki/00.-How-To-Use-with-PhoneGap-Build
Здесь нет необходимости в jQuery. Как уже упоминалось ранее, вы должны проверить его с помощью свойства агента пользователя. Если вы заинтересованы в обнаружении других платформ, а также просто ли вы на мобильном устройстве в целом, я написал этот is-mobile component, который может его обнаружить.
Не стесняйтесь импортировать его и использовать, как показано в следующих примерах:
isMobile.Android() => true/false
isMobile.iOS() => true/false
isMobile.Windows() => true/false
isMobile.KindleFire() => true/false
isMobile.any() => true/false
;(function() {
var redirect = false
if (navigator.userAgent.match(/iPhone/i)) {
redirect = true
}
if (navigator.userAgent.match(/iPod/i)) {
redirect = true
}
var isAndroid = /(android)/i.test(navigator.userAgent)
var isMobile = /(mobile)/i.test(navigator.userAgent)
if (isAndroid && isMobile) {
redirect = true
}
if (redirect) {
window.location.replace('jQueryMobileSite')
}
})()
Я думаю, что ответ Michal - лучший, но мы можем сделать это еще дальше и динамически загружать Android CSS в соответствии с исходным вопросом:
var isAndroid = /(android)/i.test(navigator.userAgent);
if (isAndroid) {
var css = document.createElement("link");
css.setAttribute("rel", "stylesheet");
css.setAttribute("type", "text/css");
css.setAttribute("href", "/css/android.css");
document.body.appendChild(css);
}
js, улавливает iPad тоже:
var is_mobile = /mobile|android/i.test (navigator.userAgent);