【问题标题】:How do I detect if the browser is desktop or mobile? I want to use Java but not WURFL如何检测浏览器是桌面浏览器还是移动浏览器?我想使用 Java 但不想使用 WURFL
【发布时间】:2012-04-26 16:34:59
【问题描述】:

我需要一个能够让我检测浏览器是移动设备(即 iPhone、Android 手机)、台式机还是平板电脑(即 iPad、Nook)的解决方案。根据检测结果,它会重定向到相应的站点。

我可以使用 WURFL,但这是针对私人公司的,它们价格便宜且不会支付商业许可费用。我不介意公开 WURFL 代码本身。但是该类将在 JSP 页面中进行操作。如果我只需要公开使用 WURFL API 代码的类,而不是公开周围的 JSP 代码,也许我可以使用它。这就是问题所在:在商业实体背后,关于 WURFL API,什么被视为公共信息?我是否也必须将我的 JSP 页面设为开源?

如果我不能使用 WURFL,而无需支付商业许可费用,是否还有其他 Java 甚至 JavaScript 的捆绑解决方案?

非常感谢。

【问题讨论】:

标签: java javascript mobile desktop wurfl


【解决方案1】:

你应该看看sebarmeli/JS-Redirection-Mobile-Site,它基于javascript,免费和开源,易于使用和健壮。

【讨论】:

    【解决方案2】:

    如果您喜欢 WURFL 并且可以选择 JavaScript,我建议您查看 http://wurfl.io/

    简而言之,如果你导入一个很小的 ​​JS 文件:

    <script type='text/javascript' src="//wurfl.io/wurfl.js"></script>
    

    您将得到一个如下所示的 JSON 对象:

    {
     "complete_device_name":"Google Nexus 7",
     "is_mobile":true,
     "form_factor":"Tablet"
    }
    

    (当然,这是假设您使用的是 Nexus 7)并且您将能够执行以下操作:

    if(WURFL.form_factor == "Tablet"){
        //dostuff();
    }
    

    这就是你要找的。​​p>

    免责声明:我是 WURFL 的发明者,我为提供这项免费服务的公司工作。谢谢。

    【讨论】:

      【解决方案3】:

      请注意,基于正则表达式的解决方案(例如 JS-Redirection-Mobile-Site)将无法正确分类某些浏览器。目前最大的问题是 Android 平板电脑,其中许多将被这些解决方案识别为移动设备。如果您真的想确保一切正常,您将不得不使用服务器端解决方案,但 Android 平板电脑可能尚未对相关站点构成足够的流量,因此值得处理。

      免责声明:我为服务器端设备检测解决方案提供商工作。

      【讨论】:

        【解决方案4】:

        查看51degrees.mobi,他们提供了您在 Mozilla 公共许可版本 2 下所需的一些数据。

        SourceForge 也有一个独立的 PHP 版本,可以快速实施。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-28
          • 2016-10-17
          • 2015-12-10
          • 1970-01-01
          • 1970-01-01
          • 2015-04-22
          • 2020-02-22
          • 1970-01-01
          相关资源
          最近更新 更多