检查JavaScript是否返回智能手机?

时间:2012-06-13 11:20:31

标签: javascript jquery device-detection

我想检查我的一个JavaScript函数,该函数确定我是否在智能手机上,然后根据结果决定是否运行该函数。

在JavaScript中检测/检查智能手机(或一般手持设备)的最佳方法是什么?

e.g。

if (user is on a smartphone) {
//run this code if on a phone
} else {
//run this code if not on a phone
}

如果没有一种明确的方法来检查手机,那么在决定运行哪些代码之前,我应该选择哪些最佳检查?

编辑/更新:此类帖子的答案和评论应该让我有所作为 - What is the best way to detect a mobile device in jQuery?

3 个答案:

答案 0 :(得分:2)

Yeold浏览器嗅探似乎是解决方案

if( navigator.userAgent.match(/Android/i)
 || navigator.userAgent.match(/webOS/i)
 || navigator.userAgent.match(/iPhone/i)
 || navigator.userAgent.match(/iPad/i)
 || navigator.userAgent.match(/iPod/i)
 || navigator.userAgent.match(/BlackBerry/i)
 ){
 // some code..
}

答案 1 :(得分:0)

你可以试试twitter bootstrap,http://twitter.github.com/bootstrap/scaffolding.html。特别是响应式设计部分。

答案 2 :(得分:0)

您可以使用Categorizr JS库来测试用户的设备是手机,平板电脑,智能电视还是桌面。分类程序使用用户代理嗅探,因此您应该留意脚本的更新,因为用户代理倾向于" evolve"随着时间的推移。

以下是如何使用分类程序检查用户是否在智能手机上,而不是智能电视,台式机或平板电脑:

if (categorizr.isMobile) {
    //run this code if on a phone
} else {
    //run this code if not on a phone
}