Jim*_*Bak 10 xcode webview osx-yosemite wkwebview
你如何改变使用的用户代理WKWebview?
使用旧版本WebView,我可以编写以下内容来更改用户代理:
[myWebView setCustomUserAgent:@"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4)
AppleWebKit/537.77.4 (KHTML,like Gecko) Version/7.0.5 Safari/537.77.4"];
Run Code Online (Sandbox Code Playgroud)
在Swift中非常简单.只需将以下内容放入App Delegate即可didFinishLaunchingWithOptions.
NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent" : "Custom Agent"])
Run Code Online (Sandbox Code Playgroud)
如果要附加到现有代理字符串,则:
let userAgent = UIWebView().stringByEvaluatingJavaScriptFromString("navigator.userAgent")! + " Custom Agent"
NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent" : userAgent])
Run Code Online (Sandbox Code Playgroud)
注意:您需要卸载并重新安装应用程序,以避免附加到现有代理字符串.
我对此没有答案。然而,迄今为止我的研究得出的一些建议:
在 iOS 中,可以为 UIWebView 设置自定义用户代理,如下所示:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:agent, @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
Run Code Online (Sandbox Code Playgroud)
在 OSX 中,有一个setCustomUserAgent用于 WebView 元素的方法可以实现这一目的。
然而,这不适用于 WKWebView(至少在 OSX 中)。我也没有从苹果公司找到任何有关它的文档。
希望有人可以帮忙!