通过JavaScript / jQuery检测Android手机

tgabmvqs  于 2023-11-17  发布在  jQuery
关注(0)|答案(6)|浏览(126)

我如何检测所使用的设备是用于移动的网站的Android?
我需要将某些css属性应用到Android平台。
谢谢

gfttwv5a

gfttwv5a1#

看看这个: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();
}

编辑:正如在一些评论中指出的,这将在99%的情况下工作,但一些边缘情况没有涵盖。

o7jaxewo

o7jaxewo2#

这个笑话怎么样?

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

eh57zj3b

eh57zj3b3#

我认为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);
}

字符串

wa7juj8i

wa7juj8i4#

;(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')
    }
})()

字符串

u1ehiz5o

u1ehiz5o5#

另一个选择css部分,你可以做:

document.documentElement.className += ((/(android)/i.test(navigator.userAgent) ? " android" : " notAndroid");

字符串
然后使用简单的css选择器,如:

html.android .mainMenu {
  width: 100%;
}

html.notAndroid .mainMenu {
  width: 50%;
}

cgfeq70w

cgfeq70w6#

js版本,捕获iPad太:

var is_mobile = /mobile|android/i.test (navigator.userAgent);

字符串

相关问题