WKWebView没有加载第二个CSS

问题描述 投票:0回答:1

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

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

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


视图控制器

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

更多信息请求:)

swift wkwebview
1个回答
0
投票

你是说:

content.loadFileURL(url, allowingReadAccessTo: url)

所以你限制访问这个目录(由url表示的目录)。当您尝试访问其他目录中的资源时,您将被正确地阻止。

© www.soinside.com 2019 - 2024. All rights reserved.