JavaScript - 检查是Web应用程序还是Android应用程序

3
我正在使用PhoneGap为Android构建一个应用程序,该应用程序也可以上传到服务器并用作网站。
我的问题是,在登录页面上,我调用了一个JSON来检查登录凭据的php页面,但仅当用户键入完整的URL(包括www.)时才有效,否则会返回JSON跨域错误。
我通过以下代码解决了这个问题,如果未找到“www.”,则添加它。
if (document.URL.toLowerCase().indexOf("www.") == -1) {
        var new_url = document.URL.slice(0, 7) + "www." + document.URL.slice(7);
        window.location = new_url;
}

我需要检查用户是否将应用程序作为网站使用并调用上面的代码,或者是否将其作为Android应用程序使用并跳过上面的代码。目前,当Android应用程序遇到此代码时,它会尝试重定向,导致网络错误。感谢任何帮助。

1
这个链接会对你有所帮助,如何判断手持设备 - Prateek
你可以通过查找从HTTP请求中提取的“user-agent”来了解发出请求的客户端,该信息指定了发出请求的HTTP客户端。 - curious
1个回答

2
您可以使用 navigator 对象来实现这一点,如下所示:
将您上面的代码放入 if() 块中。
var ua = navigator.userAgent;
if(!(ua.match(/Android/i))){
   //this code will run only when there is any non-android client.
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接