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

时间:2018-05-18 01:04:36

标签: ios swift xcode wkwebview

我正在尝试下载在线页面并使用我的自定义CSS覆盖css。但是我无法取得成功。

我做了以下步骤:

  1. 从在线页面下载Html字符串
  2. "<link rel="stylesheet" type="text/css" href="styles.css">"添加到页面Html头部。这个styles.css包含一个自定义字体和其他css规则。
  3. 使用webView.loadHTMLString(html, baseURL: Bundle.main.bundleURL)
  4. 将此新Html字符串加载到WKWebView

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

    任何想法我怎样才能做到这一点?如果我将Bundle.main.bundleURL设置为来自在线页面的baseURL资源,请不要下载。如果我将nil设置为我的baseURL,则无法访问我的自定义字体...

1 个答案:

答案 0 :(得分:1)

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

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