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
и таких не мало... =(

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

Kolyaj 28.03.2010 15:52

Цитата:

Сообщение от PeaceCoder
и если в нутри себя они будут использовать "свои" пути это приведет к непоправимым багам со стороны клиента... =(

Так не надо использовать внутри себя "свои" пути, т.к. нет никаких своих путей.

PeaceCoder 28.03.2010 17:32

Цитата:

Сообщение от Kolyaj
Так не надо использовать внутри себя "свои" пути, т.к. нет никаких своих путей.

Интересно сказано. Надо было сразу удалять или закрывать тему. Определение каталога скрипта как раз как я понял для этого и предназначено... что бы ссылаться на другие файлы этого каталога где и скрипт...


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