通过 JavaScript 检测用户设备是不是使用移动操作系统

Posted

技术标签:

【中文标题】通过 JavaScript 检测用户设备是不是使用移动操作系统【英文标题】:Detect via JavaScript if mobile operating system is used by the users device通过 JavaScript 检测用户设备是否使用移动操作系统 【发布时间】:2014-03-22 17:09:48 【问题描述】:

除了 Viewport-Size (viewportSize.js) 和 Device-Size (getDevicePixelWidth.js),我还必须知道用户设备是移动操作系统还是桌面操作系统。用于解释。我必须区分具有 android 或其他移动操作系统和 windows 8 或 Linux 桌面操作系统和 android 或 MacOS 和 ios 等的表。 昨天我用谷歌搜索了很多并阅读了很多声明,所以我很困惑,因为有人说,我应该使用:(navigator.appVersion or navigator.userAgent 其他人说这不是好的程序练习。 我需要一个轻量级的可靠解决方案。有人知道吗?

【问题讨论】:

“我必须知道用户设备是移动操作系统还是桌面操作系统”——为什么? 某种 javascript 扩展在桌面电源上运行非常好,让我的网站看起来不错。在大多数移动操作系统设备上,无论像素分辨率如何,它看起来都很糟糕。所以我想为移动操作系统用户停用那个 js 扩展。设备像素宽度信息不足! 我建议您找出真正的问题并解决它,而不是假设所有台式机都可以工作而所有手机都不能工作。 如果你不能回答我的问题,那对我来说没问题,但低估我的问题是!!我使用视差滚动,这在台式电脑上很好,但在移动设备上却不是真的需要。 我没有“低估”你的问题。至于视差滚动是否与移动设备相关,请注意有屏幕尺寸达到或超过“桌面”显示器的 Android 平板电脑和一体机设备。还有带有触摸屏的台式机和笔记本电脑,类似于移动设备。因此,不清楚为什么您认为视差滚动与移动设备相关,而不是与某些更有价值的特征(屏幕尺寸、设备是否为触摸屏等)相关。 【参考方案1】:

您可以使用jquery-browser-plugin 来检测是移动设备还是桌面设备。

【讨论】:

我会测试那个插件。谢谢! 我做了一个简短的测试,它似乎符合我的目的。

以上是关于通过 JavaScript 检测用户设备是不是使用移动操作系统的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript,如何检测访问者的设备上是不是存在三星 Galaxy 商店

使用 javascript 或 jQuery 检测用户是不是拒绝浏览器定位计算机的请求

如何检测音频是不是无法静音?

使用 Javascript 检测触摸屏设备

如何使用 JavaScript 检测移动设备?

javascript 检测用户设备