检查是不是返回我是不是在智能手机上的 JavaScript? [复制]
Posted
技术标签:
【中文标题】检查是不是返回我是不是在智能手机上的 JavaScript? [复制]【英文标题】:A check in JavaScript that returns whether I am on a smartphone? [duplicate]检查是否返回我是否在智能手机上的 JavaScript? [复制] 【发布时间】:2012-06-16 08:17:56 【问题描述】:我想检查我的一个 javascript 函数,以确定我是否在智能手机上,然后根据结果决定是否运行该函数。
在 JavaScript 中检测/检查智能手机(或一般的手持设备)的最佳方法是什么?
例如
if (user is on a smartphone)
//run this code if on a phone
else
//run this code if not on a phone
如果没有一种确定的方法来检查手机,那么在决定运行哪些代码之前,我应该执行哪些最佳检查选择?
编辑/更新:这个类似帖子上的答案和 cmets 应该给我一些继续 - What is the best way to detect a mobile device in jQuery?
【问题讨论】:
这可能会有所帮助:***.com/questions/10823144/… @ilanco 谢谢我找不到那个帖子。我认为那里的答案/cmets 应该给我一些工作。 我想这里已经给出了答案:***.com/questions/3514784/… 版主:如果楼主能关闭自己的问题就好了。我知道有一个投票系统可以做到这一点......谁知道可能会更好 【参考方案1】:老旧的浏览器嗅探似乎是解决方案
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..
【讨论】:
我在上面发布的链接上有这个答案的副本。 是的,我无耻地从那里偷了它。认为作为问题的实际答案可能值得多强调一下。【参考方案2】:你可以试试 twitter 引导程序,http://twitter.github.com/bootstrap/scaffolding.html。特别是响应式设计部分。
【讨论】:
Bootstrap 是纯 CSS 并且没有 Javascript 检测。 (一如既往)有一个丑陋的黑客:***.com/questions/14441456/…【参考方案3】:您可以使用Categorizr JS库来测试用户的设备是手机、平板、智能电视还是台式机。 Categorizr 使用用户代理嗅探,因此您应该留意脚本的更新,因为用户代理会随着时间的推移而“演变”。
以下是使用 Categorizr 检查用户是否使用智能手机而非智能电视、台式机或平板电脑的方法:
if (categorizr.isMobile)
//run this code if on a phone
else
//run this code if not on a phone
【讨论】:
以上是关于检查是不是返回我是不是在智能手机上的 JavaScript? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
jquery 怎么判断是不是点击手机上的返回键?求大神指点!