如何使用javascript检测平板电脑,手机,桌面,电视

MAK*_*pon 24 javascript mobile tablet

我正在开发一个Web应用程序,我需要从javascript中检测设备.谁有人告诉我最好的方法呢?我通过谷歌搜索找到了几个解决方案.但没有人能够充分证明.我不想像WURFL一样使用服务器端检测.

我的更新

我通过使用javascript匹配CSS媒体查询来检测设备.使用保罗爱尔兰的polyfill进行媒体查询匹配 https://github.com/paulirish/matchMedia.js/

小智 44

您可以使用:

1)JS:由用户代理检测

if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i))
Run Code Online (Sandbox Code Playgroud)

从这里获取用户代理字符串:http: //www.useragentstring.com/pages/useragentstring.php.

2)CSS:使用响应式设计

3)JS:检测屏幕宽度 screen.width


Luc*_*ani 30

我建议你看看http://wurfl.io/

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

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>
Run Code Online (Sandbox Code Playgroud)

你将留下一个看起来像这样的JSON对象:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}
Run Code Online (Sandbox Code Playgroud)

(假设您正在使用Nexus 7),您将能够执行以下操作:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}
Run Code Online (Sandbox Code Playgroud)

这就是你要找的东西.

免责声明:我为提供此免费服务的公司工作.谢谢.

  • 我的意思是它很好,一切都很好,但是有一天你们会决定取消服务或者要求收费,让我的客户无法察觉.或者是的,你的服务器出现故障.那又怎样?从服务器复制粘贴时,此js文件将不起作用. (12认同)
  • 我真的不明白为什么要将一些客户的个人信息发布到第三方后端,只是为了检查客户是否使用平板电脑或笔记本电脑...... (6认同)
  • Ehrm可能会问,wurfl.js究竟在做什么?这几乎是不可读的. (3认同)