wkwebview修改userAgent

2017-08-25  本文已影响154人  c608

转载一波,记录一下下

//    要区分打开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];
        }
    }];

作者:未知的远方
链接:http://www.jianshu.com/p/fd6fe72a3b0e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。,
上一篇下一篇

猜你喜欢

热点阅读