swift - 如何将字符串中的内容加载到 webView 中?

标签 swift webview

我将 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?

最佳答案

你应该使用:

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

关于swift - 如何将字符串中的内容加载到 webView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49411214/

相关文章:

ios - 如何从主视图 Controller 在详细 View Controller 中推送新 View ?

android - 当我选择操作栏后退时卡住或制作稳定的 Web View ?防止每次加载/重新加载

java - 在 Android 中检查互联网连接时出错

javascript - 如何将 javascript 重定向加载到 android webview 中?

html - 将 html 附加到 webview 内容

ios - 我应该在我的 iOS 推送通知应用程序中使用核心数据吗?

json - 在 Swift 中访问嵌套数据

swift - 为什么我无法使用 CAGradientLayer 的蒙版

ios - 通过 NSDate 重新排序动态 UITableView

android - 强制WebView在某个网络上运行