C# 在iOS中使用WKWebView请求桌面站点
我到处搜索,但找不到一种不依赖网站本身(他们自己的“桌面版本”按钮)就请求网站桌面版本的方法C# 在iOS中使用WKWebView请求桌面站点,c#,ios,objective-c,xamarin,wkwebview,C#,Ios,Objective C,Xamarin,Wkwebview,我到处搜索,但找不到一种不依赖网站本身(他们自己的“桌面版本”按钮)就请求网站桌面版本的方法 有办法做到这一点吗?我认为,如果我能在UIWebView中使用它,就可以在WKWebView中使用相同的方法。可能使用用户代理: NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14
有办法做到这一点吗?我认为,如果我能在UIWebView中使用它,就可以在WKWebView中使用相同的方法。可能使用用户代理:
NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A"])
我从以下来源找到了useragent字符串:如果您只关注iOS 9版本的WKWebView,则有一个属性
customUserAgent
// Safari's User Agent (OS X 10.10)
webview.customUserAgent = @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36";
// Reload webview
[webview reloadFromOrigin];
当customUserAgent
的值为零时,webview具有默认的用户代理
此外,最好使用JavaScript修改视口,以便网站根据其判断设备类型
对于iOS 8版本的WKWebView,NSUserDefaults技巧是唯一的方法。在创建WKWebView实例之前设置它。我不知道详细信息,但这类操作通常是通过欺骗“用户代理”头来完成的。