我正在尝试下载一个在线页面并用我的自定义 css 覆盖 css。然而,我无法成功。
我做了以下步骤:
- 从联机页面下载 Html 字符串
- 添加了
"<link rel="stylesheet" type="text/css" href="styles.css">"
到页面 Html 头。此样式.css包含一个自定义字体和另一个 css 规则。 - 已将此新 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)