Jak ustawić agenta użytkownika w aplikacji Cordova? Piszę aplikację Cordova w VS 2015 i potrzebuję danych do pobrania z innego źródła. Te źródła zwracają dane w formacie xml, ale gdy agent użytkownika jest mobilny, to przekierowanie źródła do strony mobilnej. Potrzebuję zmienić agenta użytkownika na przeglądarkę komputerową. Źródło danych nie jest moje, nie można go zmienić.Jak ustawić agenta użytkownika w aplikacji Cordova
Odpowiedz
pomocą wtyczki takie jak https://github.com/LouisT/cordova-useragent
Aby zainstalować wtyczkę, użyj Cordova CLI i wprowadź następujące informacje: Cordova plugin dodać https://github.com/LouisT/cordova-useragent
Aby ustawić User-agent: UserAgent.set (useragent)
Aby otrzymać aktualny User-agent: UserAgent.get (function (uA) {})
Aby ustawić User-Agent z powrotem do domyślnego: UserAgent.reset()
To zależy od wersji Cordova Androida i iOS-Cordova używasz.
można sprawdzić wersje platformy Cordova uruchamiając cordova platform list
Jeśli używasz 4.0 i nowsze wersje zarówno dla iOS i Androida można je ustawić w config.xml jak podano w dokumentacji Cordova here
<preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
Jeśli używasz 4.0 i poniżej, musisz ustawić je w natywnym kodzie, jak poniżej. (Kod ten pokazuje jak dołączyć i mogą być modyfikowane, aby całkowicie zastąpić)
w iOS można zrobić
W AppDelegate.m, metodę didFinishLaunchingWithOptions
UIWebView* sampleWebView = [[UIWebView alloc] initWithFrame:CGRectZero];
NSString* originalUserAgent = [sampleWebView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
self.viewController.baseUserAgent = [NSString stringWithFormat:@"%@ customAgent/%@ customAgent/%@",
originalUserAgent,CDV_VERSION,
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]];
W Androidzie można zrobić
settings = webView.getSettings();
String userAgent = settings.getUserAgentString();
if (!settings.getUserAgentString().contains("customAgent")) {
PackageManager packageManager = this.cordova.getActivity().getPackageManager();
double versionCode;
try {
versionCode = packageManager.getPackageInfo(this.cordova.getActivity().getPackageName(), 0).versionCode;
} catch (PackageManager.NameNotFoundException e) {
versionCode = 1.0;
}
userAgent += " customAgent/" + CordovaWebView.CORDOVA_VERSION + " customAgent/" + versionCode + " (233)";
settings.setUserAgentString(userAgent);
}
Jak mogę go używać? – btf89
Do obsługi Cordova V7.0 użyj tego widelca: https://github.com/jonas-m-/cordova-useragent –