我有一个使用 WKWebView 导航到网页的 IOS 应用程序。页面本身在菜单中包含后退按钮。当我们单击指向 PDF 的链接时,该 pdf 本身会显示在视图中,但其他 html 内容(包括后退按钮)会消失。
有什么方法可以让我检测链接何时返回 PDF 并在 safari 或类似浏览器中从外部打开该内容?
如果这是不可能的,有没有办法让我检测链接何时返回 PDF 并显示 Web 工具包后退按钮(仅针对该页面)。
编辑:澄清
单击以转到 pdf 的链接实际上并不包含 pdf 文本。该链接类似于 /Documents/GetDocument?docid=1234。
返回的内容类型为 application/pdf。在理想的世界中,我们将能够看到从链接返回的内容,然后进行适当的处理。
你可以做这样的事情
extension ViewController: WKNavigationDelegate{
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
print(navigationAction.request.url ?? "")
if let url = navigationAction.request.url?.absoluteString{
}
decisionHandler(.allow)
}
}
并且不要忘记分配
webView.navigationDelegate = self
当 webview 尝试加载新 url 时,将调用上述方法,并且根据您的评论和更新的问题,您要检查 url 的 mime 类型。为此,您可以参考
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句