首页 > 解决方案 > WKWebView 不加载第二个 CSS

问题描述

我正在使用WKWebView. HTML 文件正在main.css从同一位置加载文件。CSS 有效。

如果我单击一个链接,从让我们说dir/another.html正在加载带有../main.css 链接的 CSS 的另一个 HTML 文件甚至不会打开

当我从 中删除 CSS 链接时dir/another.html,将加载 HTML。
有人可以帮我弄这个吗?oO


视图控制器

override func viewDidLoad() {

    content.isOpaque = false
    content.uiDelegate = self
    content.navigationDelegate = self
    let url = Bundle.main.url(forResource: result?.id, withExtension: "html", subdirectory: "location".localized)!
    // result?.id is pointing to index.html at "location".localized

    let request = URLRequest(url: url)
    content.loadFileURL(url, allowingReadAccessTo: url)
    content.load(request)

    super.viewDidLoad()

}

第一个 HTML index.html

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="user-scalable=no, initial-scale=1" />
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>

    <div class="anything">
        <a href="dir/another.html">Link</a>
    </div>
    ...

第二个 HTML dir/another.html

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="user-scalable=no, initial-scale=1" />
        <link rel="stylesheet" type="text/css" href="../style.css">
    </head>
    <body>

    <div class="anything">
        <a href="dir/another.html">Link</a>
    </div>
    ...

更多信息按需:)

标签: swiftwkwebview

解决方案


你是说:

content.loadFileURL(url, allowingReadAccessTo: url)

因此,您正在限制对该目录的访问(由 表示的目录url)。当您尝试访问不同目录中的资源时,您会被完全阻止。


推荐阅读