当前位置: 首页 > 知识库问答 >
问题:

检测移动或平板设备

祖迪
2023-03-14

我的目标是有一个移动网站(手机和平板电脑)和一个响应桌面网站,建立在Wordpress上。我想最简单的方法来实现傻瓜证明设备检测。

移动网站将会有很多只对触摸设备有益的功能,并将为手机和平板电脑定制设计。桌面网站将完全不同(有相同的页面,但有额外的内容),并将充分响应,以防任何设备逃过检测。

我有一个可以检测触摸设备并重定向到另一个页面的衬里,但它似乎太简单了,不是一个简单的设备检测方法。这是多么愚蠢的证明?它对Windows和Android设备以及iOS都有效吗?

这是我第一次做这样的网站,但不确定它的效果如何:

<!-- Redirect to the mobile index page if we're on a touch device -->
<script>if( 'ontouchstart' in window ) window.location = 'mobile.html';</script>

共有3个答案

陆才俊
2023-03-14

该代码几乎适用于任何支持触摸功能的设备。

宋臻
2023-03-14

对于PHP上的移动检测,我一直使用$_SERVER['HTTP_USER_AGENT']变量。我使用下面的函数来非常精确地控制谁将被发送到移动站点(我想要支持的特定设备)。只需将用户代理添加到阵列中(如“Ipad”),即可添加更多设备。

function detectmobile(){
    $agent = $_SERVER['HTTP_USER_AGENT'];
    $useragents = array (
        "iPhone",
        "iPod",
        "Android",
        "blackberry9500",
        "blackberry9530",
        "blackberry9520",
        "blackberry9550",
        "blackberry9800",
        "webOS"
        );
        $result = false;
    foreach ( $useragents as $useragent ) {
    if (preg_match("/".$useragent."/i",$agent)){
            $result = true;
        }
    }
return $result;
}
if (detectmobile() == true) { wp_redirect('http://pageyouwwanttoredirectto'); }

用法:您可以将以上代码转换为您的wordpress主题的功能。php文件。

阳航
2023-03-14

您可以使用mdetect(移动检测)库来完成这项工作。它是用几种语言编写的,可以检测Windows,Android,iOS等。请务必阅读文档。

  • PHP版本
  • JavaScript版本

请注意,JavaScript版本包含以下警告:

// WARNING: 
//   These JavaScript-based device detection features may ONLY work 
//   for the newest generation of smartphones, such as the iPhone, 
//   Android and Palm WebOS devices.
//   These device detection features may NOT work for older smartphones 
//   which had poor support for JavaScript, including 
//   older BlackBerry, PalmOS, and Windows Mobile devices. 
//   Additionally, because JavaScript support is extremely poor among 
//   'feature phones', these features may not work at all on such devices.
//   For better results, consider using a server-based version of this code, 
//   such as Java, APS.NET, PHP, or Ruby.
 类似资料:
  • 问题内容: 在页面加载时,我有一个调用服务的控制器,然后将返回的数据绑定到某些$ scope.objects: 在我的HTML中,我尝试通过以下方式绑定$ scope.OrderHistory: 在笔记本电脑/台式机上观看时很好,但在平板电脑和移动设备(例如iPhone / iPad)上无法使用 问题答案: 尝试添加ngTouch。从文档: 设计用于触摸屏设备的默认功能的更强大替代品。大多数移动浏

  • 我需要解决这个问题。请帮我指导一下。

  • 但我想显示Android谷歌Play徽章,如果它是Android和苹果商店徽章,如果它是iOS,但出于某种原因,下面的代码不工作。有人能告诉我我做错了什么吗?

  • 本文向大家介绍javascript检测移动设备横竖屏,包括了javascript检测移动设备横竖屏的使用技巧和注意事项,需要的朋友参考一下 如何判断 移动设备提供了两个对象,一个属性,一个事件: (1)window.orientation   属于window对象上一个属性;共有三个值 :0为竖屏模式(portrait),90为向左反转变为横屏模式(landscape),-90为向右反转变为横屏模

  • 问题内容: 有没有一种方法可以检测是否使用了手持浏览器(iOS / Android手机/平板电脑)? 我尝试此操作的目的是使元素在手持设备的浏览器中的宽度缩小一半,但没有任何区别。 可以做到吗? 编辑: 从我使用过的jmaes答案的引用页面中 。 问题答案: 更新(2016年6月) :我现在尝试在每种分辨率上都支持触摸和鼠标输入,因为设备格局正在逐渐模糊什么是触摸设备和什么不是触摸设备之间的界限。

  • 问题内容: 谁能帮我这个。 我想检测Iphone,BB,andriod等设备以及浏览器,以应用其特定的CSS使其液化或调整其分辨率。 在移动浏览器上,andriod和Iphone是否存在分辨率差异问题或CSS问题,因为我计划为这2个用户使用相同的CSS,因为我知道它们默认使用相同的浏览器浏览器。 问题答案: 尝试使用并检查字段。当然,只有在php.ini中设置了路径时,它才可能有所帮助。如果没有,