【发布时间】:2018-07-30 19:09:31
【问题描述】:
我几乎尝试了所有方法,一个 stackoverflow 和其他网站在 WKWebview 中请求桌面版网站,但没有一个解决方案适合我。
我尝试过的链接如下
https://stackoverflow.com/a/38228810/3145189
https://stackoverflow.com/a/38228810/3145189
https://stackoverflow.com/a/49646773/3145189
https://stackoverflow.com/a/48155481/3145189
我尝试在上面的线程上通过评论答案来获得答案,但没有得到回复,所以我在这里提出我的问题,我希望你不会将其标记为重复
这是我尝试过的众多实现之一
import UIKit
import WebKit
class ViewController: UIViewController {
var webview: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let config = WKWebViewConfiguration()
webview = WKWebView(frame: self.view.frame, configuration: config)
self.webview.uiDelegate = self
let url = URL(string: "https://quora.com/")!
var request = URLRequest(url: url)
let userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"
request.addValue(userAgent, forHTTPHeaderField: "User-Agent")
webview.load(request)
//webview.customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"
self.view.addSubview(webview)
}
}
extension ViewController: WKUIDelegate {
}
我会要求,请在发布答案之前测试您的答案或建议,因为我已经尝试了很多其他的东西。
编辑-
上面的示例代码工作正常,问题是更改用户代理不立即反映,重新安装用户代理更改确实反映,所以我的问题是如何使用按钮切换请求桌面站点。
【问题讨论】:
-
正确设置属性customUserAgent应该足够了
-
我试过但没用 - webview.customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 "
-
Quora 网站将是一个响应式网站,它将根据屏幕宽度设置样式,而不仅仅是用户代理。您可能需要调整 web 视图的大小/缩放级别,这可能会有所帮助
-
Quora 网站在 safari 应用程序、UIWebView 请求桌面站点时运行良好,以及我尝试使用其他站点
标签: ios swift wkwebview user-agent