Change PhoneGap / Cordova User-Agent for AJAX

╄→гoц情女王★ 提交于 2019-12-28 13:34:44

问题


I'm using phonegap / cordova for developing an Android app.

The app has to read files on a remote server. Therefore I'm using AJAX (jQuery). The problem is: The remote server redirects all connections from mobile devices to a mobile version, which doesn't work for me, so I have to change the User Agent to a desktop browser.

How can I do this? I've seen a solution for iOS. Is something like this possible for Android?


Edit: I found a solution myself:

Just add

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");

to /src/com/a/b/c.java in onCreate-method.


回答1:


put this in your onCreate method: (after super.init();)

super.appView.getSettings().setUserAgentString("Your own agent string");

this worked for me.

See for more settings: http://developer.android.com/reference/android/webkit/WebSettings.html




回答2:


If you're looking for a more powerful http client for cordova that allows changing the user agent, or any header in that matter, try out https://github.com/aporat/cordova-plugin-fetch. it wraps around well tested native networking libraries (AFNetworking 2 on ios, and OKHttp on android).

it also follows the window.fetch, so you could use cordovaFetch on the simulators and devices, while testing on the browser with fetch.js.

Just install the plugin with

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

and include the user agent header in any request you made.

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


来源:https://stackoverflow.com/questions/14406393/change-phonegap-cordova-user-agent-for-ajax

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!