检测是否在手机上运行

时间:2018-11-05 19:02:51

标签: javascript html css

我在网上找到了许多资源,以了解如何检测用户是否正在通过移动设备进行导航,但是我需要特别检查他们是否正在使用电话,以便可以使用href =“ tel:”,否则我应该将它们重定向到另一个页面。在我的桌面浏览器中,指向电话号码的链接的行为很糟糕:错误页面显示该地址无法理解。 那么,如何检测用户是否正在使用可以拨打电话的电话? 谢谢

2 个答案:

答案 0 :(得分:0)

我不知道这是否是最好的选择,但是我已经看过多次了。

基本上,您只需检查客户端的用户代理是否看起来像带有以下内容的移动用户代理即可:

pathsFrom(tl)(next(_)(segments))
  .filter(_._1 == br)
  .map(_._2.reverse)
  .toList
  .foreach(println)

如果客户端在移动设备上,此代码段将返回List(Segment(Point(tl,0,-10),Point(t,0,0)), Segment(Point(t,0,0),Point(tr,0,10)), Segment(Point(tr,0,10),Point(br,-10,10))) List(Segment(Point(tl,0,-10),Point(t,0,0)), Segment(Point(t,0,0),Point(b,-10,0)), Segment(Point(b,-10,0),Point(br,-10,10))) List(Segment(Point(tl,0,-10),Point(bl,-10,-10)), Segment(Point(bl,-10,-10),Point(b,-10,0)), Segment(Point(b,-10,0),Point(br,-10,10)))

答案 1 :(得分:0)

几乎不可能检测用户是否正在使用“真实电话”。但是,要取决于它是否是真正的电话的重要性,有不止一种可能的解决方案。

检查用户User Agent是最常见的应用程序,可能也是最“安全的”,因为它要么表示用户正在使用电话,要么使用模仿电话的浏览器。网上有很多关于如何执行此操作的指南。

另一种方法可能是检查用户的屏幕尺寸,并根据尺寸隐藏或显示相关链接。仅在需要时,可以使用CSS来完成此操作-使用媒体查询-当然也可以使用JavaScript来完成。

如果您使用包管理器(npmyarn等),则可以检查mobile-detect个包,其中有很多负载,要么使用一个,要么检查它们的工作方式,然后您应该找到很多好的资源!