Как получить путь к файлу в настоящее время выполняющегося кода JavaScript

Я пытаюсь сделать что-то как C #include "filename.c", или PHP include(dirname(__FILE__)."filename.php") но в JavaScript. Я знаю, что могу сделать это, если я могу получить URL, js файл был загружен из (например, URL, данный в src атрибуте тега). Есть ли какой-либо путь к JavaScript для знания этого?

С другой стороны, там какой-либо хороший путь состоит в том, чтобы загрузить JavaScript динамично из того же домена (не зная домен конкретно)? Например, позволяет, говорят, что у нас есть два идентичных сервера (QA и производство), но у них ясно есть различные домены URL. Есть ли способ сделать что-то как include("myLib.js"); где myLib.js загрузится от домена файла, загружающего его?

Извините, если это сформулировало немного смутно.

57
задан Bart Verkoeijen 25 October 2013 в 10:06
поделиться

3 ответа

В сценарии:

var scripts = document.getElementsByTagName("script"),
    src = scripts[scripts.length-1].src;

Это работает, потому что браузер загружает и выполняет сценарии по порядку, поэтому пока ваш сценарий выполняется, документ, в который он был включен обязательно, чтобы ваш скриптовый элемент был последним на странице. Этот код, конечно, должен быть «глобальным» для сценария, поэтому сохраните src где-нибудь, где вы можете использовать его позже. Избегайте утечки глобальных переменных, заключив их в:

(function() { ... })();
79
ответ дан 24 November 2019 в 19:20
поделиться

Возможно, я неправильно понял ваш вопрос, но кажется, что вы должны просто иметь возможность использовать относительный путь, если производственный сервер и сервер разработки используют одну и ту же структуру путей.

<script language="javascript" src="js/myLib.js" />
1
ответ дан 24 November 2019 в 19:20
поделиться

Независимо от того, является ли это сценарий, файл HTML (например, для кадра), файл CSS, изображение и т. Д., Если вы не указали server / domain путь к html-документу будет по умолчанию, поэтому вы можете сделать, например,

или

Если вы не укажете сервер / домен, путь будет относительным либо к пути страницы, либо к сценарию пути основного документа

0
ответ дан 24 November 2019 в 19:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: