设置wkwebview customUserAgent时,似乎在iOS 12中存在错误。在webView:didFinishNavigation:方法中,我打印customUserAgent并与webivew.evaluateJavaScript结果进行比较。
NSLog(@"user-agent is %@"); //Get a custom user-agent
[self.webView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id _Nullable result, NSError * _Nullable error) {
NSLog(@"user-agent is %@", result); //Get a default user-agent
}];
有人看到同样的问题吗?
最佳答案
最后,我发现问题在于,您无法在调用customUserAgent的validateJavaScript:iOS 12中的method之后对其进行更改。这是我的代码
self..webView.evaluateJavaScript("navigator.userAgent") { [weak self] (result, error) in
self?.webView.customUserAgent = result as? String + "customAgent" //not work
}
}
您可以初始化一个UIWebview或另一个WKWebiview来获取当前的用户代理,并在其后附加您的自定义用户代理。
self.tempWebView.evaluateJavaScript("navigator.userAgent") { [weak self] (result, error) in
if self == nil || error != nil {
return
}
if let userAgent = result as? String {
self?.webView.customUserAgent = userAgent + "custom agent"
}
}
关于ios - iOS 12 WKWebview设置customUserAgent无法正常工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51356476/