如何使用 WKWebview 加载带有哈希的文件

How can I load file with hash with WKWebview

我使用代码加载URL路径散列片段(如:index.html#/some-hash-path;但是WKWebview没有加载url.

let path = "www/index.html"
let page = "#/some-hash-path"
let url = Bundle.main.bundleURL.appendingPathComponent(path + page)
self.webView.loadFileURL(url, allowingReadAccessTo: Bundle.main.bundleURL)

它似乎将 # -> %23 转换为无效路径

按预期从字符串构建 URL:

let path = "www/index.html"
let page = "#/some-hash-path"
guard let parsedUrl = URL(string: Bundle.main.bundleURL.absoluteString + path + page) else {
  return
}
self.webView.loadFileURL(parsedUrl, allowingReadAccessTo: Bundle.main.bundleURL)

我试图以一种明显正确的方式为本地文件构建 url 时也遇到了困难。

url 必须使用 URL(string:) 初始化程序创建,手动添加 file:// 前缀,并使用 loadFileURL().

加载
let url = URL(string: "file://\(indexPath)#\(section)")
webView.loadFileURL(url, allowingReadAccessTo: Bundle.main.bundleURL)