如何在 Web 视图中加载 html 代码



我正在使用mywebview.loadHTMLString(htmlCode, baseURL: nil)但它无法正常工作,这意味着它不支持javascript和css,它只显示该html代码中的文本。

我正在从 api 获取 html 代码并将其存储到字符串数据类型中,需要传递给 web 视图。

我发现了一件事webview.load()但它显示"无法将类型'字符串'的值转换为预期的参数类型'数据'。

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

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

<!doctype html>
<html>
<head>
	<title></title>
</head>
<body>
<p>This is a demo html code, <span style="background-color:#FF0000;">which i wanted to display on UIwebview</span> .</p>
<p>But <span style="color:#800080;">it&#39;s wokring</span> properly if i save this code as a<span style="color:#0000FF;"> .html</span> extension then works perfect.</p>
</body>
</html>

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

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

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

webview.loadHTMLString(( 应该将 html 作为字符串加载。您的基本网址属性可能是导致此问题的原因。看看这个答案,它是webview.loadHTMLString((的一个工作示例。

使用此代码它为您工作

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

(或(

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

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

<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)

相关内容

  • 没有找到相关文章

最新更新