Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.02.2010, 14:41
Интересующийся
Отправить личное сообщение для rkwdv Посмотреть профиль Найти все сообщения от rkwdv
 
Регистрация: 19.11.2009
Сообщений: 11

Как определить директорию (URL) в которой лежит скрипт?
Существует ли возможность определить URL включаемого в html *.js файла изнутри этого файла? Необходимо для выцепливания картинок и других js файлов, лежащих там же.
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2010, 00:42
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Теоретически, можно:
function getScriptDirectory(){
var scripts = document.getElementsByTagName("script"); // все элементы SCRIPT
var href = scripts[scripts.length - 1].src || location.href; // последний из списка. Если SRC нет, значит, внедренный, и берем адрес самой страницы
return href.replace(/[#\?].*/g, '').replace(/[^\/]*$/, '/'); // удаляем из URL query string и hash, после чего удаляем все после последнего слеша
}


Но я бы не стал сильно на это полагаться. Предположение «выполняется тот скрипт, который последний» может вполне оказаться неверным.

UPD: Опаньки, хайлайтер неправильно коммент распознал.

Последний раз редактировалось subzey, 09.02.2010 в 00:44.
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2010, 02:17
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

var scripts = document.getElementsByTagName("script");

А уверенность в этой строке есть? Элемент script создается до парсинга/исполнения или же после исполнения?
Сообщение от subzey
UPD: Опаньки, хайлайтер неправильно коммент распознал.
Не коммент а регулярку.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #4 (permalink)  
Старый 09.02.2010, 15:18
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

До парсинга последующих элементов. Иначе как по-вашему должен работать document.write?
<script></script>
<script>
alert(document.getElementsByTagName("script").length)
</script>
<script></script>


Проблема может быть (и, скорее всего, будет) с
document.body.insertBefore(myScriptNode, document.body.firstChild)


Сообщение от PeaceCoder
Не коммент а регулярку.
«Ошибочно распознал в символе #, входящем в регулярку, коммент» — пойдет?

Последний раз редактировалось subzey, 09.02.2010 в 15:20.
Ответить с цитированием
  #5 (permalink)  
Старый 09.02.2010, 15:49
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от subzey
«Ошибочно распознал в символе #, входящем в регулярку, коммент» — пойдет?
Да. =) Просто когда вылавливаешь баги, необходимо точно указывать источник, а не то что ты видишь =)
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить активное окно/вкладку? Chameleon Events/DOM/Window 5 19.03.2012 07:59
Как правильно прописать URL xela1980 jQuery 1 16.12.2009 15:39
Как можно изменить URL в адресной строке браузера? балерун Events/DOM/Window 12 17.11.2009 13:08
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40