关于WKWebView 修改UserAgent

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

你可能感兴趣的:(关于WKWebView 修改UserAgent)