我做了一些研究,这个问题也出现了,但不是我想要的方式。我正在为客户端构建一个页面,这是一个QR码登陆,这是一个下载应用程序的地方。所以他不需要在页面上打印2个QR码,我想检测当前的操作系统(苹果/安卓/其他[不支持]),并根据该值修改我的元素。

我已经看过脚本“detectmobilebrowsers”,它的目的只是告诉用户是否移动,而我想弄清楚用户正在运行什么操作系统,并建议最好的应用程序版本。

我发现与这个问题类似的其他答案要么过时,要么不可靠(Android平板电脑浏览器没有检测),所以我正在寻找一些新的答案。我怎样才能做到这一点呢?(最好使用jQuery - Javascript - PHP的顺序)。


当前回答

对于这种和其他类型的客户端检测,我建议使用这个js库: http://hictech.github.io/navJs/tester/index.html

对于你的具体答案使用:

navJS.isIOS() || navJS.isAndroid()

其他回答

可以使用导航器。获取安装浏览器的操作系统的平台。

function getPlatform() {
   var platform = ["Win32", "Android", "iOS"];

   for (var i = 0; i < platform.length; i++) {

       if (navigator.platform.indexOf(platform[i]) >- 1) {

           return platform[i];
       }
   }
}

getPlatform();

这个问题已经在这里解决了:在jQuery中检测移动设备的最佳方法是什么?

对于已接受的答案,它们基本上会测试它是否是iPhone, iPod, Android设备或其他设备,以返回true。只保留那些你想要的,例如if(/Android/i.t test(navigator.userAgent)){//一些代码..}将只对Android用户代理返回true。

然而,用户代理并不是真正可靠的,因为它们可以被更改。最好的事情仍然是开发适用于所有手机平台的东西。

您还可以创建Firbase动态链接,这将根据您的需求工作。它支持多种平台。该链接可以手动创建,也可以通过编程创建。你可以把这个链接嵌入到二维码中。

如果目标应用程序已安装,该链接将重定向用户到应用程序。如果未安装,它将重定向到Play商店/应用程序商店/任何其他配置的网站。

如果你的网站使用React Js,请使用https://www.npmjs.com/package/react-device-detect

对于这种和其他类型的客户端检测,我建议使用这个js库: http://hictech.github.io/navJs/tester/index.html

对于你的具体答案使用:

navJS.isIOS() || navJS.isAndroid()