JavaScript получает имя удаленного хоста

#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];
  })();
  

Я могу получить имя хоста имя хоста скриптов.