如何检测浏览器是桌面浏览器还是移动浏览器?我想使用Java,但不是WURFL

如何检测浏览器是桌面浏览器还是移动浏览器?我想使用Java,但不是WURFL,java,javascript,mobile,desktop,wurfl,Java,Javascript,Mobile,Desktop,Wurfl,我需要一个解决方案,可以让我检测浏览器是移动的(如iPhone、Android手机)、桌面还是平板电脑(如iPad、Nook)。根据检测结果,它将重定向到相应的站点 我可以使用WURFL,但这是一家私人公司的,而且价格便宜,不会支付商业许可证费用。我不介意公开WURFL代码本身;但是该类将在JSP页面中进行操作。如果我只需要将使用WURFL API代码的类公开,而不是周围的JSP代码公开,也许我可以使用它。这就是问题:在商业实体的背后,关于WURFLAPI,什么是公共信息?我也必须使我的JSP页

我需要一个解决方案,可以让我检测浏览器是移动的(如iPhone、Android手机)、桌面还是平板电脑(如iPad、Nook)。根据检测结果,它将重定向到相应的站点

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

如果我不能使用WURFL,而不支付商业许可证,那么还有其他针对Java甚至JavaScript的捆绑解决方案吗

非常感谢。

您应该看看,它是基于javascript的,既免费又开源,使用方便且健壮。

看看是谁提供了Mozilla公共许可证版本2下您需要的一些数据


还有一个自包含的PHP版本可以快速实现。

请注意,基于正则表达式的解决方案(如JS Redirection Mobile Site)将无法正确分类某些浏览器。目前最大的问题是安卓平板电脑,其中许多平板电脑将被这些解决方案视为移动设备。如果你真的想确保一切正常,你就必须使用服务器端解决方案,但Android平板电脑可能还没有为相关网站带来足够的流量,不值得处理


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

如果你喜欢WURFL,JavaScript是一个选项,我建议你去看看

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

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>
(当然,这是假设您使用的是Nexus 7),您将能够执行以下操作:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}
这就是你要找的


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

但是,我不知道如何在Java中做到这一点。@Bennika:没关系,我将尝试一个Java解决方案,并在这里报告我的发现。您可以使用wurfl.js来实现这一点()
if(WURFL.form_factor == "Tablet"){
    //dostuff();
}