A check in JavaScript that returns whether I am on a smartphone?
本问题已经有最佳答案,请猛点这里访问。
我想执行一个检查我的javascript函数,该函数决定我是否在智能手机上,然后根据结果决定是否运行该函数。
在javascript中检测/检查智能手机(或一般的手持设备)的最佳方法是什么?
例如
1 2 3 4 5 | if (user is on a smartphone) { //run this code if on a phone } else { //run this code if not on a phone } |
如果没有一种确定的方法来检查电话,那么在决定运行哪个代码之前,我应该执行哪些检查是最好的选择?
编辑/更新:这篇类似文章的答案和评论应该给我一些东西-在jquery中检测移动设备的最佳方法是什么?
Ye Olde浏览器嗅探似乎是解决方案
1 2 3 4 5 6 7 8 9 | 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.. } |
您可以使用分类程序JS库来测试用户的设备是移动电话、平板电脑、智能电视还是台式机。分类程序使用用户代理嗅探,因此您应该密切关注脚本的更新,因为用户代理往往会随着时间的推移而"进化"。
以下是如何使用分类程序检查用户是否在智能手机上,而不是智能电视、台式机或平板电脑上:
1 2 3 4 5 | if (categorizr.isMobile) { //run this code if on a phone } else { //run this code if not on a phone } |
号
你可以试试Twitter引导程序,http://twitter.github.com/bootstrap/scaffolding.html。尤其是响应式设计部分。