检测设备是iOS还是Android,然后重定向
Posted
技术标签:
【中文标题】检测设备是iOS还是Android,然后重定向【英文标题】:Detect if device is iOS or Android, and then redirect 【发布时间】:2019-01-25 09:50:19 【问题描述】:所以我有一个网站,我想要的是当打开我的网站时:www.example.com/download.html 我想首先检测设备是ios设备还是android设备,然后重定向到另一个链接,例如 www.google.com(只是一个示例)。我想要不同操作系统的不同链接。关于如何管理这个的任何提示? :)
【问题讨论】:
这个问题类似:***.com/q/6322112/7362396 或者,如果您不想在源代码中放置太多代码,可以通过快速的 Google 搜索找到一个看起来很有前途的库:github.com/WhichBrowser/Parser-php 【参考方案1】:您可以使用用户代理字符串来检测不同类型的设备,如下所示:
function androidOrIOS()
const userAgent = navigator.userAgent;
if(/android/i.test(userAgent))
return 'android';
if(/iPad|iPhone|iPod/i.test(userAgent))
return 'ios';
【讨论】:
我要把这个放到download.html中吗? 是的,您可以使用 window.location.replace("some link"); 重定向用户或 window.location.href = "一些链接"; 我是否需要在 html 文件中添加其他内容?如果代码是计算机而不是设备,您还可以显示代码吗?【参考方案2】:可以使用Navigator来判断设备类型
function navigate()
if((/Mobi|Android/i.test(navigator.userAgent)))
window.location.href = 'android url ';
if(/Mobi|iPad|iPhone|iPod/i.test(navigator.userAgent))
window.location.href = 'ios url ';
【讨论】:
Navigator 的支持范围有多广? 在我看来,在第二个if
中搜索“Mobi”是不必要的,因为第一个已经捕获了这种情况。总的来说,在我看来,仅凭这一点就无法正常工作。以上是关于检测设备是iOS还是Android,然后重定向的主要内容,如果未能解决你的问题,请参考以下文章
对于某些版本的 Android,FB 登录的 Expo AuthSession 不会重定向到 expo App