如何在Cordova App中设置用户代理?我在VS 2015中编写了Cordova App,我需要从其他来源下载数据。此源以xml格式返回数据,但是当用户代理是移动的时,此源重定向会执行移动站点。我需要将User Agent更改为桌面浏览器。数据源不是我的,不能改变它。
答案 0 :(得分:12)
这取决于您使用的cordova-android和cordova-ios的版本。
您可以通过运行CREATE PROCEDURE usp_Test
@param1 int = NULL
, @param2 int = NULL
, @param3 int = NULL
AS
BEGIN
SELECT * FROM Tab1
WHERE (Para1 = @param1 OR @param1 IS NULL)
AND (Para2 = @param2 OR @param2 IS NULL)
AND (Para3 = @param3 OR @param3 IS NULL)
END
如果您在iOS和Android上都使用4.0及以上版本,则可以在config.xml中设置它们,如cordova文档中所述here
cordova platform list
如果您使用的是4.0及以下版本,则需要使用本机代码进行设置,如下所示。 (此代码显示如何追加并可以修改以完全替换)
在iOS中你可以做到
在AppDelegate.m中,didfinishlaunchingwithoptions方法
<preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
在Android中你可以做到
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"]];
答案 1 :(得分:6)
使用https://github.com/LouisT/cordova-useragent
等插件要安装插件,请使用Cordova CLI并输入以下内容: cordova插件添加https://github.com/LouisT/cordova-useragent
设置用户代理: UserAgent.set(用户代理)
获取您当前的用户代理: UserAgent.get(function(ua){})
将User-Agent设置回默认值: UserAgent.reset()