【问题标题】:How to check if the web page is visited by a phone browser or a PC browser?如何检查网页是通过手机浏览器还是PC浏览器访问?
【发布时间】:2012-07-26 19:48:58
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 为什么你不能。在第二种情况下,您有 Android
  • 所以尝试搜索所有已知的移动操作系统名称,您就会得到答案:)
  • @grasPro 如果它很可能是来自手机的 Android。使用 Adel 的建议获得更多移动操作系统
  • @mishadoff 你是如何计算概率的?你在计算概率时对安卓平板电脑的估计是多少?
  • 你能像在响应式设计的 CSS 媒体查询中那样检查窗口宽度吗?

标签: java jakarta-ee mobile web


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      和之前的回答类似: http://detectmobilebrowsers.com/

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 这看起来不错!但是是的,需要添加更新的移动浏览器
        猜你喜欢
        • 2020-04-19
        • 2015-10-30
        • 2022-01-18
        • 2011-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-26
        相关资源
        最近更新 更多