繁体   English   中英

如何检测浏览器是台式机还是移动机? 我想使用Java但不使用WURFL

[英]How do I detect if the browser is desktop or mobile? I want to use Java but not WURFL

我需要一个解决方案,使我能够检测浏览器是否是移动设备(例如iPhone,Android手机),台式机或平板电脑(例如iPad,Nook)。 根据检测,它将重定向到适当的站点。

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

如果不支付商业许可就无法使用WURFL,是否还有针对Java甚至JavaScript的捆绑解决方案?

非常感谢你。

您应该查看sebarmeli / JS-Redirection-Mobile-Site ,它基于javascript,包括免费和开放源代码,易于使用且功能强大。

如果您喜欢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();
}

这就是您要寻找的。

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

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

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

看一下51degrees.mobi ,他们根据Mozilla Public License版本2提供了您所需的一些数据。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM