我使用代码加载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转换为无效路径
答案 0 :(得分:1)
我也试图以一种显然正确的方式为本地文件构建url时遇到了麻烦。
必须使用URL(string:)
初始化程序创建该url,并用file://
手动为其前缀,并使用loadFileURL()
加载该URL。
let url = URL(string: "file://\(indexPath)#\(section)")
webView.loadFileURL(url, allowingReadAccessTo: Bundle.main.bundleURL)
答案 1 :(得分:-1)
按预期从字符串工作中构造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)