WKWebView не загружает второй CSS - PullRequest
0 голосов
/ 13 сентября 2018

Я загружаю локальный HTML с WKWebView. HTML-файл загружает main.css файл из того же места. CSS работает.

Если я нажму на ссылку, при загрузке другого файла HTML, скажем, dir/another.html, который загружает CSS с помощью ../main.css , ссылка даже не откроется .

Когда я удаляю ссылку CSS из dir/another.html, загружается 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>
    ...

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

Больше информации по запросу :)

1 Ответ

0 голосов
/ 13 сентября 2018

Вы говорите:

content.loadFileURL(url, allowingReadAccessTo: url)

Таким образом, вы ограничиваете доступ к этому каталогу (тот, который обозначен url). Тогда вы совершенно справедливо блокируетесь, когда пытаетесь получить доступ к ресурсу в другом каталоге.

...