2013-01-18 31 views
8

我正在使用phonegap/cordova開發Android應用程序。更改PhoneGap/Cordova用於AJAX的用戶代理

該應用程序必須讀取遠程服務器上的文件。因此我使用AJAX(jQuery)。 問題是:遠程服務器將所有來自移動設備的連接重定向到手機版本,這對我無效,所以我必須將用戶代理更改爲桌面瀏覽器。

我該怎麼做?我見過a solution for iOS。是這樣的可能爲Android?


編輯: 我找到了解決自己:

onCreate - 方法只需添加

WebSettings w = this.appView.getSettings();  
w.setUserAgentString("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"); 

/src/com/a/b/c.java

+1

這並不適用於我。有任何想法嗎? – Danation

+2

您可以爲自己的問題添加一個答案 - 您不必將其編輯爲問題本身。如果你再次編輯並做到這一點,那將會更加整潔。 – rjmunro

+0

@ninov我正在使用科爾多瓦,但我沒有任何.java文件。我們可以從JavaScript調用這個嗎?它到2017年仍然有效嗎? – 2017-06-25 11:55:54

回答

1

如果你正在尋找的科爾多瓦一個更強大的HTTP客戶端,允許更改用戶代理,或在此問題上的任何標題,嘗試https://github.com/aporat/cordova-plugin-fetch。它包裝經過良好測試的本地網絡庫(在ios上爲AFNetworking 2,在android上爲OKHttp)。

它也遵循window.fetch,因此您可以在模擬器和設備上使用cordovaFetch,同時在fetch.js上使用瀏覽器進行測試。

只是

cordova plugin add https://github.com/aporat/cordova-plugin-fetch.git

安裝插件,包括你提出的任何請求的用戶代理頭。

cordovaFetch('/users.json', { 
    method : 'GET', 
    headers: { 
    'User-Agent': 'your user agent' 
}, 
})