WKWebView - 无法加载页面并使用 loadHTMLString 设置自定义字体/css



我正在尝试下载一个在线页面并用我的自定义 css 覆盖 css。然而,我无法成功。

我做了以下步骤:

  1. 从联机页面下载 Html 字符串
  2. 添加了"<link rel="stylesheet" type="text/css" href="styles.css">"到页面 Html 头。此样式.css包含一个自定义字体和另一个 css 规则。
  3. 已将此新 Html 字符串加载到 WKWebView 并带有webView.loadHTMLString(html, baseURL: Bundle.main.bundleURL)

另一种选择是下载页面并使用 head 标签之间的样式标签覆盖 css,但是我需要从项目资源中的字体添加自定义@font面。

任何想法如何做到这一点?如果我从在线页面将 Bundle.main.bundleURL 设置为我的 baseURL 资源,则不会下载。如果我将 nil 设置为我的基本网址,我无法访问我的自定义字体......

我认为你应该使用bundlePath而不是像这样使用bundleURL。

let url = URL(fileURLWithPath: Bundle.main.bundlePath)
webView.loadHTMLString(html, baseURL: url)

最新更新