【问题标题】:WKWebView - Can't load page and set custom font/css with loadHTMLStringWKWebView - 无法加载页面并使用 loadHTMLString 设置自定义字体/css
【发布时间】:2018-05-18 01:04:36
【问题描述】:

我正在尝试下载一个在线页面并使用我的自定义 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) 将这个新的 Html 字符串加载到 WKWebView

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

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

【问题讨论】:

    标签: ios swift xcode wkwebview


    【解决方案1】:

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

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

    【讨论】:

    • 我的网页内容中嵌入了社交提要,如果我更改 baseURL,它们就会丢失。
    猜你喜欢
    • 2017-02-15
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2015-07-04
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多