ios - Swift 3 - WKWebView 加载本地 HTML 不加载资源文件

标签 ios xcode swift3 wkwebview

我从网上下载了我的网站以存储在带有子文件夹的 xcode 项目中,并希望在本地的 WKWebView 中运行。我发现 webview 加载的网页缺少所有 CSS/JS/Images 资源。我在互联网上搜索,但仍然无法正常工作。相对 url 内的网页是否不正确或我的代码获取 Main Bundle 位置问题?任何人都可以提供帮助。谢谢。

Xcode Project Structure

HTML Page Contents Sample

我写这段代码是为了加载WKWebView

let htmlFile = Bundle.main.path(forResource: "provisiontech", ofType: "htm")
let html = try? String(contentsOfFile: htmlFile!, encoding: String.Encoding.utf8)
let baseURL = Bundle.main.resourceURL!.appendingPathComponent("pvtc")
webView.loadHTMLString(html!, baseURL: baseURL)

最佳答案

WebView 无权访问资源文件夹。你应该使用 loadFileURL(_:allowingReadAccessTo:)反而。预加载数据不是必需的,例如:

let url = Bundle.main.url(forResource: "provisiontech", ofType: "htm")

webView.loadFileURL(url, allowingReadAccessTo:
    Bundle.main.resourceURL!.appendingPathComponent("pvtc"))

编辑:如果webview还是无法访问资源,你应该考虑是否将页面和所有资源放在同一个文件夹中。

关于ios - Swift 3 - WKWebView 加载本地 HTML 不加载资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45801178/

相关文章:

iOS Google maps sdk 无法连接

ios - 在不滚动的情况下在 ScrollView 上添加 View (以编程方式)

Swift:如果我的类中有相同的函数,如何调用非类函数?

macos - 关闭 nspopover 不起作用

ios - 在 Swift 中将自定义对象数组转换为 AnyObject

ios - ShinobiCharts隐藏轴

ios - 如何在 iphone 5 和 iphone 6 上更改 ImageView 的大小?

xcode - 使用 Xcode 调试链接器错误 - sdl 静态库

ios - 框架没有正确导入? 'MultipeerConnectivity' 上的 Mach-O 链接器

ios - 在 "for"循环中使用 NSURL URLWithString 时应用程序崩溃