如何在Cordova App中设置用户代理

时间:2015-08-17 13:52:50

标签: cordova request visual-studio-2015 user-agent

如何在Cordova App中设置用户代理?我在VS 2015中编写了Cordova App,我需要从其他来源下载数据。此源以xml格式返回数据,但是当用户代理是移动的时,此源重定向会执行移动站点。我需要将User Agent更改为桌面浏览器。数据源不是我的,不能改变它。

2 个答案:

答案 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

来检查平台cordova版本

如果您在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()