Почему Firefox не использует CSS из локального абсолютного пути? - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть локальный файл HTML, который имеет ссылку на локальный файл CSS.Оба файла находятся на компьютере A. HTML-код находится в одном месте, но CSS-файл хранится в другом месте на компьютере A. HTML-файл представляет собой отчет, созданный программой, работающей на компьютере A. Пользователь читает отчет HTML на компьютере A.

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>My very first html document</title>
    <link rel="stylesheet" type="text/css" href="C:\tmp\folder1\css\mystyle.css"  />
</head>
<body>
    <div class="myclass" >Hello World!</div>
</body>
</html>

CSS mystyle.css

.myclass {
    background-color: yellow;
}

Структура папок выглядит следующим образом:

C:
+
+->tmp
     +
     +>folder1
     |       +
     |       +>css
     |           +
     |           +>mystyle.css
     +>folder2
             +
             +>index.html

В Firefox CSS не применяется.Результаты Firefox, Chrome, IE, Edge (по часовой стрелке).enter image description here

Версия Firefox: 63.0.3 (64 бита)

Что я пробовал

  1. Относительный путь к CSS (href = "../ folder1 / css / mystyle.css").Это работает.
  2. Изменено с косой черты на обратную косую черту.Это не сработало.

Я бы предпочел абсолютный путь для CSS.Я бы предпочел не копировать CSS.

Вопросы

  1. Может кто-нибудь объяснить, почему Firefox не применяет CSS?
  2. Что такое быстрое решение этой проблемы?
  3. Что правильно делать?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Предварительно добавьте файл: // к href вашей css-ссылке, и он будет работать.Я только что попробовал сам, используя вашу структуру папок.Изначально он не работал в Firefox, как сообщалось, но работал в Chrome.Предшествующий файл: // позволяет ему работать на обоих.

<link rel="stylesheet" type="text/css" href="file://C:/tmp/folder1/css/mystyle.css"  />
0 голосов
/ 10 декабря 2018
  1. Firefox не имеет доступа к вашей файловой системе по очевидной причине безопасности (см. этот пост в КБ для получения дополнительной информации ).
  2. Существует множество возможных способов решения этой проблемы, если вы хотитехраните файл CSS в другом месте, самым популярным из которых является веб-пакет или любая другая система сборки.По сути, каждый современный стек разработки интерфейса использует его.Это инструмент node.js, который соберет все ваши статические ресурсы с использованием предварительно сконфигурированного пути и «свяжет их» в локальной сборке.
  3. Если это всего лишь один файл CSS для одного варианта использования, просто используйтеотносительный путь (или file:/// префиксный путь).Лучшее решение здесь, очевидно, самое быстрое и простое.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...