2013-02-21 107 views
3

我正在构建一个使用PhoneGap for Android的应用程序,该应用程序也可以上传到服务器并用作网站。Javascript - 检查Web应用程序或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

此链接会帮助你, [如何知道手持设备] [ 1] [1]:http://stackoverflow.com/a/3540295/1503130 – Prateek 2013-02-21 11:51:46

+0

您可以使用“user-agent”来了解发出请求的客户端,该客户端指定发出请求的http客户端。搜索f或“用户代理”从Http请求中提取。 – curious 2013-02-21 11:53:12

回答

2

你可以做到这一点使用navigator对象是这样的:

包装你上面的代码if()块内,

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

完美,谢谢! – SkelDave 2013-02-21 11:54:15