如何使用 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)
我使用代码加载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)