например, страница HTML содержит js, а js src - /js/test.js
, и в этом js файле я могу получить строку /js/test.js
когда js вычитается?
__dirname
и process.cwd()
могут делать это в Node.js, но не работают в js broswer
Может кто-нибудь мне помочь?
HTML
<script src="/some/path.js" id="script1"></script>
<script src="/some/path2.js" id="script2"></script>
JS
// /some/path.js
var path = document.querySelector('#script1').getAttribute('src');
// /some/path2.js
var path = document.querySelector('#script2').getAttribute('src');
В браузере скрипт загружается через HTTP-запрос. URI (бит после имени хоста) не обязательно соответствует имени файла.
Если вам нужен атрибут src
, вы можете обратиться к этому ответу, который рекомендует использовать document.currentScript
для получения элемента сценария.
const path = document.currentScript.getAttribute('src');