【问题标题】:Swift 3 - WKWebView Load Local HTML not loading resource filesSwift 3 - WKWebView 加载本地 HTML 不加载资源文件
【发布时间】:2018-01-29 18:26:56
【问题描述】:

我从网上下载了我的网站以存储在带有子文件夹的 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)

【问题讨论】:

    标签: ios xcode swift3 wkwebview


    【解决方案1】:

    webview 无权访问资源文件夹。您应该改用loadFileURL(_:allowingReadAccessTo:)。不需要预加载数据,例如:

    let url = Bundle.main.url(forResource: "provisiontech", ofType: "htm")
    
    webView.loadFileURL(url, allowingReadAccessTo:
        Bundle.main.resourceURL!.appendingPathComponent("pvtc"))
    

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

    【讨论】:

      猜你喜欢
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2019-06-21
      相关资源
      最近更新 更多