2

如何检查网页是否已被移动浏览器或计算机浏览器打开。我试过这个:

name = request.getHeader("User-Agent");

但它给出了这些类型的结果:

  • 对于 Fedora Firefox 浏览器:Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0
  • 安卓手机浏览器:Mozilla/5.0 (Linux;U;Android 2.3.6;en-in;Micromax A50 Build/GRK395) AppleWebKit/533.1(KHTML,like Gecko) 版本/4.0 Mobile Safari/533.1

我无法从以上两个结果中区分网页是手机访问还是电脑访问。我怎么做 ?

如果我能在Java中做到这一点,那就太好了。

4

4 回答 4

3

就像 Mikko 写的那样,没有简单的方法来检测移动设备。

但您可以尝试: http ://code.google.com/p/php-mobile-detect/

和以前的答案类似: http: //detectmobilebrowsers.com/

于 2012-07-28T09:01:21.677 回答
2

没有任何简单的“mobile=true”标志。你只需要自己检查。从这里您可以找到要搜索的值的子集(列表相当旧,因此应该添加较新的移动浏览器)。

于 2012-07-28T08:53:01.483 回答
1

这是我刚刚找到的一个很好的链接:

http://www.abeautifulsite.net/blog/2011/11/detecting-mobile-devices-with-javascript/

var isMobile = {
    Android: function() {
        return navigator.userAgent.match(/Android/i);
    },
    BlackBerry: function() {
       return navigator.userAgent.match(/BlackBerry/i);
    },
    iOS: function() {
        return navigator.userAgent.match(/iPhone|iPad|iPod/i);
    },
    Opera: function() {
        return navigator.userAgent.match(/Opera Mini/i);
    },
    Windows: function() {
        return navigator.userAgent.match(/IEMobile/i);
    },
    any: function() {
        return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() ||      isMobile.Opera() || isMobile.Windows());
    }
};
于 2013-05-31T03:32:40.413 回答
0

您还可以查看屏幕的尺寸(较小的尺寸可能意味着移动设备),这应该可以通过 javascript 访问。

于 2015-07-21T05:44:27.230 回答