Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получит путь к каталогу, где находится сам JS-файл? (https://javascript.ru/forum/misc/8442-kak-poluchit-put-k-katalogu-gde-nakhoditsya-sam-js-fajjl.html)

khusamov 26.03.2010 00:00

Как получит путь к каталогу, где находится сам JS-файл?
 
Как получит путь к каталогу, где находится сам JS-файл?

var dir = ...
$("<img src='" + dir + "/images/image1.jpg'/>").appendTo("body");


Откуда взять значение для переменной dir.

В CSS-файле это запросто делается, например:

style {
bacgrouns-image: url(images/image1.jpg);
}


Тут картинка берется из каталога, где лежит сам CSS-файл.
Нет необходимости прописывать весь пусть с корня сайта.

Как делать то же самое, но в JS-файле?

subzey 26.03.2010 00:15

Способы есть, но это очень плохая практтка, смею Вас заверить. Лучше избегите этого.

PeaceCoder 26.03.2010 00:21

Цитата:

Сообщение от subzey
Способы есть, но это очень плохая практтка, смею Вас заверить. Лучше избегите этого.

В скором времени это не будет проблемой.
Кстати а какие способы то?

subzey 26.03.2010 12:07

PeaceCoder,
рассчитываем на то, что исполняемый js при подгрузке страницы всегда последний. Т.е.,
var scripts  = document.getElementsByTagName("script");
alert(scripts[scripts.length-1].src)


Для функций, вызванных событием или таймером, это не прокатит, естесственно.

Kolyaj 26.03.2010 12:11

Цитата:

Сообщение от PeaceCoder
В скором времени это не будет проблемой.

Каким образом?

PeaceCoder 26.03.2010 22:05

Цитата:

Сообщение от subzey
рассчитываем на то, что исполняемый js при подгрузке страницы всегда последний. Т.е.,

А это. Да это выгодный способ если скрипт подгружается как файл. а Если скрипт динамически создается? если в конце тоже прокатит, если пихают в начало - нет. А еще если Имеет мания величия обьединять скрипты на сервере в 1 ? тогда точно кранты.
Цитата:

Сообщение от Kolyaj
Каким образом?

С выходом моей ЦМС ;) Там такие вещи, как использование путей модуля обычное дело.

Kolyaj 26.03.2010 23:22

Цитата:

Сообщение от PeaceCoder
А еще если Имеет мания величия обьединять скрипты на сервере в 1 ?

И что плохого в объединении скриптов?

subzey 27.03.2010 14:05

Цитата:

Сообщение от PeaceCoder
Если скрипт динамически создается?

А в чем проблема-то? Если создается через innerHTML, то выполнится сразу после текущего. Если через appendChild, то немедленно после прицепления к документу, задержав выполнение текущего.
Цитата:

Сообщение от PeaceCoder
если в конце тоже прокатит, если пихают в начало - нет.

Мазохисты, намеренно усложняющие себе жизнь.

Цитата:

Сообщение от PeaceCoder
А еще если Имеет мания величия обьединять скрипты на сервере в 1 ?

Гхы, ну тогда все равно-то у скрипта адрес есть? В таком случае можно использовать старый добрый путь от корня.

PeaceCoder 27.03.2010 18:18

Цитата:

Сообщение от subzey
Мазохисты, намеренно усложняющие себе жизнь.

и таких не мало... =(
Цитата:

Сообщение от Kolyaj
И что плохого в объединении скриптов?

Цитата:

Сообщение от subzey
В таком случае можно использовать старый добрый путь от корня

Я не об этом. Я к тому, что в этом одном файле могут быть скрипты из разных уровней вложенности. и если в нутри себя они будут использовать "свои" пути это приведет к непоправимым багам со стороны клиента... =(

subzey 28.03.2010 01:13

Цитата:

Сообщение от PeaceCoder
и таких не мало... =(

Всем не угодишь.
Спорим, я смогу заставить неправильно работать любой кусок Вашего безупречного кода? ;)


Часовой пояс GMT +3, время: 01:55.