#javascript
#javascript
Вопрос:
У меня есть файл JavaScript, который пользователь может включить через CDN.
Допустим, URL-адрес CDN равен http://somecdnsite.com/myfile.js
В этом файле у меня есть console.log(местоположение.имя хоста)
Клиент обслуживает его с локального хоста: 8000
В файле я получаю местоположение.имя хоста, которое захватывает URL-адрес хоста клиента. (localhost) Чего я действительно хочу, так это чтобы файл выводил имя удаленного хоста «somecdnsite.com » там, где на самом деле находится файл. Может ли это быть достигнуто? И как?
Комментарии:
1. Конечно, просто жестко закодируйте этот URL-адрес в переменной в вашем файле, вы знаете, где вы его размещаете, верно!
2.
the file to output the remote hostname
— вывод каким образом?3. внутри размещенного скрипта —
document.currentScript
это (как ни странно) текущий элемент скрипта (только при загрузке, а не при обратном вызове, например) см. Документацию4. Вы можете посмотреть на
<script>
теги в DOM.5. Хм, что? И вам также не нужен фиксированный URL-адрес для этого балансировщика нагрузки, но четыре разных URL-адреса для одного и того же API?
Ответ №1:
Вы не можете этого добиться, это связано с загрузкой файла JS с cdn или удаленного сервера в браузер локального компьютера, и локальная машина выполнит его, поэтому местоположение.имя хоста относится к локальному хосту.
Ответ №2:
Это решило мою проблему…
var target = document.currentScript || (function() {
var scripts = document.getElementsByTagName('script');
return scripts[scripts.length - 1];
})();
Я могу получить имя хоста имя хоста скриптов.