加载 webView 后更改 WKWebView 的 UserAgent

Posted

技术标签:

【中文标题】加载 webView 后更改 WKWebView 的 UserAgent【英文标题】:Changing UserAgent of WKWebView after webView has loaded 【发布时间】:2017-01-23 15:21:32 【问题描述】:

上一个标题:运行后完全重启一个 WKWebView

我正在尝试实现一项功能,允许用户在 WKWebView 中请求 URL 的桌面站点。如果我没记错的话,这只能通过以编程方式重置 UserAgent,然后完全重新启动(不确定此处使用的正确术语是什么)UIWebView 来完成。

UIWebView 在 Interface Builder 中设置并通过 IBOutlet 连接。有谁知道我会从哪里开始?我正在尝试将其实现为一个函数。

【问题讨论】:

【参考方案1】:

好的,经过一番调试,我找到了问题的简单答案。您可以从字面上设置自定义用户代理并重新加载网页。极其简单。下面是一些通过函数的示例代码:

func requestDesktop() 
        // Set Desktop UserAgent
        let desktopAgent: String! = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/602.3.12 (Khtml, like Gecko) Version/10.0.2 Safari/602.3.12"
        webView.customUserAgent = desktopAgent
        webView.reload()

【讨论】:

以上是关于加载 webView 后更改 WKWebView 的 UserAgent的主要内容,如果未能解决你的问题,请参考以下文章

WKWebView加载的网页自适应大小

WKWebview加载本地图片时出现路径问题

WebKit webview (WKwebview) 无法加载应用目录之外的资源

更改 WKWebview 框架高度后如何删除 WKScrollView 内的空白区域?

深入理解 WKWebView(基础篇)—— WKWebView 加载生命周期与代理方法剖析

如果之前已加载某些网页,WKWebView 不会加载 .archive 文件