Возможно ли получить параметры запроса URL-адреса <script> src JavaScript?
В качестве примера у меня есть следующий HTML:
<body>
<script src="code.js?q=xyz"></script>
</body>
Я хочу быть в состоянии прочитать q=xyz
параметр запроса изнутри code.js
, Я старался:
console.log(window.location.href)
Но это дает мне URL-адрес HTML-документа, а не code.js
URL (я мог бы затем проанализировать URL для параметров запроса).
Есть ли способ получить параметры запроса импортированного файла JavaScript из этого JavaScript? Я знаю, что могу прочитать параметры запроса на сервере и затем отправить обратно JavaScript, в который встроены параметры запроса, но я этого не хочу. Я хочу иметь возможность размещать файлы JavaScript на CDN, которые можно настроить с помощью параметров запроса.
1 ответ
Вы могли бы использовать document.currentScript.src
чтобы получить доступ к <script>
"s src
-attribute, а затем извлечь параметр запроса. Для более старых браузеров (таких как IE 11) доступ к src
-приписать по:
var scripts = document.getElementsByTagName('script');
var src = scripts[scripts.length - 1].src;
Это вернет src
-атрибут последнего выполненного скрипта. В некоторых случаях последний выполненный скрипт не является текущим скриптом (например, если скрипт манипулирует другим <script>
-элементы), и поэтому это немного ненадежно.