什么是检测用Modernizr的移动设备的最可靠的方法是什么?(What is the most r

2019-07-31 09:55发布

我正在开发一个负责任的网站,我一直在问到我们网站上的座机相当于当用户在移动设备上浏览交换任何免费电话号码。 什么是检测用户是否使用的Modernizr库(或任何其他库)的移动设备上最可靠的方法是什么?

我知道Modernizr.touch也Modernizr.geolocation的。 当两人的组合if(Modernizr.touch && Modernizr.geolocation)声明他们是无论你是在移动设备上。然而iPad将使得这两个属性,真正的一个很好的指标。 我不愿意测试设备的大小,因为移动设备越来越大!

有没有人解决了这个?

Answer 1:

通过使用Modernizr的API方法Modernizr.mq(str)

例:

Modernizr.mq('only all and (max-width: 400px)')


Answer 2:

我用这个PHP库在我的网站: http://code.google.com/p/php-mobile-detect/

我推荐这在JavaScript库,因为它意味着有更少的处理做在移动设备上和你的网页的代码是没有条件语句指定多个设备干净多了。

需要说明的(如果你要称呼它)是你有你的网站的两个版本维护。 当对保持与条件语句的网页来决定显示哪些内容重达我不认为这是一个问题,我自己虽然。 我有一个桌面文件夹,在我的根目录下的文件夹移动。

我简单地使用isMobile方法,而忽略其余的大部分,但它可以被用来降低过滤和针对特定的设备类型,如果你想要的。

例如,使用:

 // Include the mobile detection file.
 require('Mobile_Detect.php');

 // Create new mobile detect object.
 $detect = new Mobile_Detect();
 // Create new browser object
 $browser = new Browser();
 // Check if the client is using a mobile device.
 $mobile = $detect->isMobile();

 ...

 if($mobile) {
     //Load mobile site version
     require('Mobile\\index.html');
 } else {
     //Load desktop site version
     require('Desktop\\index.html');
 }

在你的情况下,JavaScript可能是更好的解决方案,如果它只是要改变,虽然数字。 这个答案可能更理想地适用于那些希望开发整个网站是移动友好。



Answer 3:

一直在寻找类似的事情,只是想这这似乎乍一看做工精细。

http://detectmobilebrowsers.com/



文章来源: What is the most reliable way to detect a mobile device using Modernizr?