为什么我的 HTML 字符串在 WebView iOS 中没有显示正确的 html 标签?

why my HTML string doesn't show the correct html tag in WebView iOS?

所以我有这个带有 html 标签的字符串:

> "<h3>Kebijakan Privasi</h3>\r\n<h4>Pengumpulan Informasi
> Pribadi</h4>\r\n<p>Di MLI, Kami memahami bahwa hal privasi adalah hal
> yang penting. Kebijakan Privasi ini berlaku untuk seluruh produk,
> layanan dan informasi yang ditawarkan di dalam Platform MLI.

这里是完整的 HTML string 我有:

如你所见,句子"Kebijakan Privasi"有

元素 句子 "Pengumpulan Informasi Pribadi" 有 < h4 > 元素

所以我希望 "Kebijakan Privasi" (h3) 的大小大于 ""Pengumpulan Informasi Pribadi" (h4)

但这是我 运行 应用程序时的结果:

如您所见,"Kebijakan Privasi" 似乎比 "Pengumpulan Informasi Pribadi" 小,我希望相反。

我的 HTML 字符串没有样板文件 HTML 标签,我的意思是

< ! DOCTYPE HTML > , < head >, and < body >

就像我在顶部分享的字符串一样。它有效果吗?因为如果我看到来自 here 的视频教程,它似乎需要样板 HTML 标签

这里是我使用的简化代码,我用的是WKWebView class:

class PageContentVC: UIViewController {

    @IBOutlet weak var webView: WKWebView!
    var contentStringHTML = "some string with html tag in here"



    override func viewDidLoad() {
        super.viewDidLoad()

        webView.navigationDelegate = self
        webView.loadHTMLString(contentStringHTML, baseURL: nil)                
    }        
}

extension PageContentVC : WKNavigationDelegate {

    func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
        activityIndicator.stopAnimating()
        webView.isHidden = false
    }

    func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
        activityIndicator.stopAnimating()
    }

}

那么如何解决这个问题?也许你有更好的解决方案。

我终于找到了答案。我不是网络开发人员,所以您似乎还必须将 css 脚本添加到 html 字符串中,像这样

var someHTMLString = """

<!DOCTYPE html>
<html lang="en">

<head>
<title>Content Page</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.75">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>

<body>
\(yourcontentHTMLStringHere)
</body>

</html>

"""

然后加载到WKWebView:

webView.loadHTMLString(someHTMLString, baseURL: nil)