2013-02-21 95 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