关于WKWebView 修改UserAgent
2017-03-10 本文已影响3466人
未知的远方
// 要区分打开H5是在本地APP还是在手机浏览器,前端伙伴说需要配合修改默认的 UserAgent,以便区分。
// 修改全局UserAgent值(这里是在原有基础上拼接自定义的字符串)
[_mainWebView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id result, NSError *error) {
NSString *userAgent = result;
NSString *newUserAgent = [userAgent stringByAppendingString:@" ios/jkbs/1.2.3"];
// NSString *newUserAgent = @"1";
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:newUserAgent, @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
[[NSUserDefaults standardUserDefaults] synchronize];
在网上找到的没有下面这句话,结果只是更改了本地的UserAgent,没修改网页的,导致一直有问题,好低级的错误,这个函数是9.0之后才出现的,在这之前,把这段代码放在WKWebView的alloc之前才会有效
[_mainWebView setCustomUserAgent:newUserAgent];
// echo(@"%@",[[NSUserDefaults standardUserDefaults] stringForKey:@"UserAgent"]);
// 判断网址类型
if ([self.url YgContainsString:@"indexlocal"]) {
// 本地html
[_mainWebView YgLoadLocationUrl:self.url];
}else{
[_mainWebView YgLoadNoneParaUrl:self.url];
}
}];