有没有一种快速的方法来知道WKWebView是否可以在路径上加载本地文件?

时间:2018-11-30 08:44:40

标签: ios swift webkit

我有一个带有WKWebView的基本iOS应用,用于打开本地存储的各种文档文件。这是有关如何在Web视图中加载示例.doc文件的代码段,效果很好。

guard let fileURL = Bundle.main.url(forResource: "sampleFile", withExtension: ".doc") else {
    fatalError("Failed to obtain file URL for: sampleFile.doc")
}

webView.loadFileURL(fileURL, allowingReadAccessTo: fileURL)
webView.navigationDelegate = self

现在,如果某些带有随机扩展名的文件无法打开,或者该文件已损坏,WKWebView是否可以响应?

我是WebKit API的新手,这就是为什么我要为此寻求最佳解决方案?另外,是否有一些WKNavigationDelegate方法被调用,以防文件损坏或其他原因?

1 个答案:

答案 0 :(得分:1)

在这种情况下,我认为您需要使用WKNavigationDelegate,它将告诉您加载资源是否出错:https://developer.apple.com/documentation/webkit/wknavigationdelegate/1455623-webview

然后可以适当地响应该错误。我可以看到您已经将调用类分配为navigationDelegate,因此您所需要做的就是实现webView(_:didFail:withError:)