如何在OS X Yosemite中更改WKWebview的用户代理?

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)

Pas*_*Kit 7

在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)

注意:您需要卸载并重新安装应用程序,以避免附加到现有代理字符串.


mic*_*cho 3

我对此没有答案。然而,迄今为止我的研究得出的一些建议:

在 iOS 中,可以为 UIWebView 设置自定义用户代理,如下所示:

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:agent, @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
Run Code Online (Sandbox Code Playgroud)

在 OSX 中,有一个setCustomUserAgent用于 WebView 元素的方法可以实现这一目的。

然而,这不适用于 WKWebView(至少在 OSX 中)。我也没有从苹果公司找到任何有关它的文档。

希望有人可以帮忙!