首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检测移动或平板电脑设备

检测移动或平板电脑设备
EN

Stack Overflow用户
提问于 2013-02-18 20:17:25
回答 3查看 4.2K关注 0票数 4

我的目标是建立一个移动网站(用于手机和平板电脑)和一个基于Wordpress的响应式桌面网站。我想要最简单的方式来实现愚蠢的设备检测。

移动网站将有许多功能,这些功能只会让触摸设备受益,并将为手机和平板电脑定制设计。桌面站点将是完全不同的(具有相同的页面,但具有额外的内容),并且将完全响应,以防任何设备通过检测。

我有一个将检测触摸设备并重定向到另一个页面的链接,但它似乎太简单了,不是一个愚蠢的设备检测方法。这是多么愚蠢的证明?它能在Windows和Android设备上运行吗?也能在iOS上运行吗?

这是我第一次做这样的网站,我不确定这会有多有效:

代码语言:javascript
复制
<!-- Redirect to the mobile index page if we're on a touch device -->
<script>if( 'ontouchstart' in window ) window.location = 'mobile.html';</script>
EN

回答 3

Stack Overflow用户

发布于 2013-02-18 20:22:15

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

  • PHP Version
  • JavaScript Version

请注意,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.
票数 1
EN

Stack Overflow用户

发布于 2013-02-19 00:30:19

对于PHP上的移动检测,我总是使用$_SERVER‘’HTTP_USER_AGENT‘变量。我使用下面的功能来非常精细地控制移动站点(我想要支持的特定设备)的接收者。只需将用户代理添加到阵列(例如'Ipad'),即可添加其他设备。

代码语言:javascript
复制
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主题的functions.php文件。

票数 1
EN

Stack Overflow用户

发布于 2013-02-18 20:20:22

这段代码在几乎所有支持触摸的设备上都能正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14936105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档