如何在webview中加载html代码?

时间:2018-04-13 11:50:03

标签: ios swift uiwebview

我正在使用ClientData Name Address Product ClientID ProductID PolicyNumber StartDate ExpriyDate Tools ClientID ProductID PolicyNumber StartDate ExpriyDate Photos 0 1 2 Claims ClientID ClaimID PolicyNumber Date Photos ,但它无法正常工作,意味着它不支持javascript和css,它只在html代码中显示文本。

我从api获取html代码并将其存储到String数据类型中,需要传递给webview。

我发现了另外一件事mywebview.loadHTMLString(htmlCode, baseURL: nil),但它显示我"无法转换类型'字符串'预期参数类型'数据'。

有谁知道如何解决这个问题?

这是我想要显示的简单演示html代码。但是我得到了我在上面的html中使用的颜色。



webview.load()




4 个答案:

答案 0 :(得分:0)

不要将baseUrl提供为nil,请提供js,css和其他文件所在的URL。

答案 1 :(得分:0)

根据the documentation webview.load()期望数据不是字符串。您可以将html字符串转换为数据:

guard let data = yourString.data(using: .utf8) else {
    print("Couldn't convert string to data")
    return
}

webview.loadHTMLString()应该将html作为字符串加载。您的基本网址属性可能会导致此问题。看看this answer它是webview.loadHTMLString()的一个工作示例。

答案 2 :(得分:0)

使用此代码为您工作

let webView = UIWebView()
webView.loadHTMLString("<html><body><p>Hello!</p></body></html>", baseURL: nil)

(OR)

let webView = UIWebView()
webView.loadHTMLString("\(htmlcode)", baseURL: nil)

答案 3 :(得分:0)

也许你没有正确地逃避所有角色。请发布您尝试过的完整代码。例如,如果将以下标记放在字符串中:

<span style="background-color:#FF0000;">

你需要像

那样做
let span = "<span style=\"background-color:#FF0000;\">"

然后您可以将HTML字符串组合在一起:

let html = "<!DOCTYPE html>" +
        "<html>" +
        "<head>" +
        "<meta charset=\"UTF-8\">"

等等。要加载HTML字符串,只需使用

webView.loadHTMLString(html, baseURL: nil)