Javascript - 检查是 Web App 还是 Android App

Posted

技术标签:

【中文标题】Javascript - 检查是 Web App 还是 Android App【英文标题】:Javascript - Check if Web App or Android App 【发布时间】:2013-02-06 17:20:42 【问题描述】:

我正在使用 android 的 PhoneGap 构建一个应用程序,该应用程序也可以上传到服务器并用作网站。

我遇到的问题是,在登录页面上,我有一个对 php 页面的 JSON 调用来检查登录凭据,这仅在用户输入完整 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] [1]:***.com/a/3540295/1503130 您可以使用“user-agent”来了解发出请求的客户端,该客户端指定发出请求的http客户端。只需搜索从Http请求中提取的“user-agent”即可。 【参考方案1】:

您可以像这样使用navigator 对象来做到这一点:

将上面的代码包装在 if() 块中,

var ua = navigator.userAgent;
if(!(ua.match(/Android/i)))
   //this code will run only when there is any non-android client.

【讨论】:

以上是关于Javascript - 检查是 Web App 还是 Android App的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 使用JavaScript在Web浏览器中检查Console对象

Android WebView与JavaScript交互实现Web App

iPhone JavaScript Web App 的地理位置

如何使用检查器在 Safari 上调试 Flutter Web App?

10 个最适合 Web 和 APP 开发的 Node.JS 框架

Hybrid App开发之JavaScript基础