【问题标题】:how to load content from string into webView?如何将字符串中的内容加载到 webView 中?
【发布时间】:2018-03-21 16:04:26
【问题描述】:

我将 webView 内容保存到 NSUserDefaults 以供离线使用。

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    let script = "document.documentElement.outerHTML.toString()"
    webView.evaluateJavaScript(script,completionHandler: { (out: Any?, error: Error?) in
        self.htmlContent = out as! String!
    })
}

有什么方法可以将 htmlContent 中的内容加载回 webView?

【问题讨论】:

    标签: swift webview


    【解决方案1】:

    你应该使用:

    func loadHTMLString(_ string: String, 
            baseURL: URL?) -> WKNavigation?
    

    所以:

    webView.loadHTMLString(self.htmlContent, baseURL: nil)
    

    您可以阅读有关此方法的更多信息: https://developer.apple.com/documentation/webkit/wkwebview/1415004-loadhtmlstring

    最好使用guard 代替强制转换:

    guard let htmlContent = out as? String else {
        return
    }
    self.htmlContent = htmlContent
    

    【讨论】:

    • 这么简单,谢谢,它的工作正常:) 但是有一个问题,在输出中,内容看起来不像原始内容(没有表格、字体等的标记)。我认为这是因为我将内容保留在字符串中。
    猜你喜欢
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多