2013-01-18 7 views
8

Używam phonegap/cordova do tworzenia aplikacji na Androida.Zmień PhoneGap/Cordova User-Agent dla AJAX

Aplikacja musi czytać pliki na zdalnym serwerze. Dlatego używam AJAX (jQuery). Problem polega na tym, że serwer zdalny przekierowuje wszystkie połączenia z urządzeń mobilnych do wersji mobilnej, co nie działa dla mnie, więc muszę zmienić agenta użytkownika na przeglądarkę komputerową.

Jak mogę to zrobić? Widziałem a solution for iOS. Czy jest coś takiego na Androida?


Edit: znalazłem rozwiązanie sobie:

Wystarczy dodać

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

do /src/com/a/b/c.java w onCreate -method.

+1

To nie działa dla mnie. Jakieś pomysły? – Danation

+2

Możesz dodać odpowiedź na własne pytanie - nie musisz edytować go na samym pytaniu. Byłoby o wiele ładniej, gdybyś ponownie edytował i zrobił to. – rjmunro

+0

@ninov Używam Cordova, ale nie mam żadnego pliku .java. Czy możemy to nazwać z javascript? Czy nadal działa od 2017 roku? –

Odpowiedz

1

Jeśli szukasz bardziej potężny klient HTTP Cordova, która pozwala na zmianę agenta użytkownika lub jakiegokolwiek nagłówka w tej materii, wypróbować https://github.com/aporat/cordova-plugin-fetch. otacza dobrze przetestowane natywne biblioteki sieciowe (AFNetworking 2 na ios i OKHttp na Androidzie).

to także następuje window.fetch, więc można użyć cordovaFetch na symulatory i urządzenia, podczas testowania w przeglądarce z fetch.js.

Wystarczy zainstalować wtyczkę z

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

i zawierać nagłówek agenta użytkownika w każdym wniosku dokonanego.

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