WKWebView 未加载第二 CSS

WKWebView not loading second CSS

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

如果我单击一个 link,从假设 dir/another.html 加载另一个 HTML 文件,它正在加载 CSS 和 ../main.css link 甚至不会打开

当我从 dir/another.html 中删除 CSS link 时,HTML 将加载。
有人可以帮我解决这个问题吗? o.O


ViewController

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()

}

第 1 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>
    ...

第二个HTMLdir/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>
    ...

更多信息点播 :)

您是说:

content.loadFileURL(url, allowingReadAccessTo: url)

因此您限制了对 这个 目录(由 url 表示的目录)的访问。当您尝试访问 不同 目录中的资源时,您就会被阻止。