Код: Выделить всё
├─ 🗎 index.html
├─ 📁 collection
│ ├─ 🗎 item1.html
│ ├─ 🗎 item2.html
│ └─ ...
├─ 📁 css
│ ├─ 🗎 main_styles.css
│ └─ 🗎 additional_styles.css
└─ 📁 js
└─ 🗎 script.js
< /code>
В Script.js он имеет возможность динамически включать файл CSS в документ HTML с чем -то подобным: < /p>
const cssPath = 'css/additional_styles.css';
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = cssPath;
...
head.appendChild(link);
предположить Script.js знает путь файла CSS относительно себя (в этом случае ../ css/extra_styles.css ). Как JavaScript узнает, какой путь он должен использовать для загрузки файла CSS с помощью документа HTML? Например, index.html должен был бы загрузить файл CSS, используя path CSS/extra_styles.css , но collection/item1.html придется загрузить файл css, используя путь ../css/additional_styles.css Вне, из какого HTML Document Script.js загружается, что было бы безопасным способом для Script.js для создания такого пути ресурса относительно HTML-документа для динамической загрузки? Например, в другом проекте относительные пути между каталогами CSS и JS могут не измениться, но абсолютные пути обоих каталогов могут отличаться от вышеуказанного настройки. Например: < /p>
Код: Выделить всё
├─ 🗎 index.html
├─ 📁 collection
│ ├─ 🗎 item1.html
│ ├─ 🗎 item2.html
│ └─ ...
└─ 📁 my_library
├─ 📁 css
│ ├─ 🗎 main_styles.css
│ └─ 🗎 additional_styles.css
└─ 📁 js
└─ 🗎 script.js
< /code>
Я знаю, что существуют некоторые «грязные» методы, такие как принуждение каждого HTML -документа иметь < /code> теги или иметь какие -то глобальные переменные, чтобы указать относительное местоположение HTML -документа. Но опять же, я бы хотел, чтобы Script.js
Подробнее здесь: https://stackoverflow.com/questions/795 ... l-document