javascript - HTML5 : Detecting if you're on mobile or pc with javascript?

标签 javascript html responsive-design media-queries

<分区>

我可以使用什么 javascript 代码来检测用户是在 HTML5 中的移动浏览器还是 pc/mac 浏览器上?

最佳答案

几年前我就在研究这个问题。简而言之,您无法做到 100% 可靠。似乎有两种通常用于提供“最佳猜测”的方法:

<强>1。用户代理检测 这是您检查客户声称是什么的地方。 例如

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
    // is mobile..
}

它并不完美,因为我相信这个属性很容易被意外或其他方式改变。此外,此列表在 2 年/2 周/2 天后仍然准确的可能性很小!

<强>2。使用客户端功能 正如您所想象的,一种更务实的方法 - 允许您迎合客户已知的 body 能力。例如

if( screen.width <= 480 ) {     
    // is mobile.. 
}

但这也不理想,因为现代设备中越来越高的像素密度会给您带来误导性结果:看起来您的“空间”比实际多。此外,不同的浏览器可能会通过不同的方式公开其功能。

如果有人有任何更好的想法来稳健地区分桌面和设备,请发表评论! :)

关于javascript - HTML5 : Detecting if you're on mobile or pc with javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25542814/

相关文章:

html - 努力增加和减少响应式电子邮件事件的字体大小

javascript - Webpack、postcss 和 nanocss : how to set global variable for CSS

javascript - 带圆 Angular 的 jCarouselLite 容器

JavaScript 网页版本比较

html - 如何删除 Chrome 和 Safari 中文本框周围的黄色边框

html - 在没有换行的情况下将 H4 居中放置在 div 中

jquery - 向下滚动跟进

javascript - 通过gapi.signin2.render按钮的Google OAuth未在React应用程序中触发回调

mobile - 在流体/响应式设计中使用钛中的百分比

html - CSS 下拉导航链接局促