Название html-файла из скрипта.
Мой js файл подключается к нескольким страничкам и чуть чуть по разному их обрабатывает.
Мне нужна функция или метод, который возвращает название html файла, в контексте которого он был вызван. Есть такая ф-ция? p.s. использую jquery если это имеет значение. |
Воспользовался поиском.
Вот такой вариант годится: if ('http://www.mysite.ru/index.html'.indexOf(index.html) > -1) {} |
Попробуйте поработать с регулярными выражениями.
Для теста, к примеру: /\/index.html$/.test(location.href); Для поиска имени файла: location.href.match(/[^/]+\.html/i); |
Скорее нужно искать название домена+путь и удалять их из строки location. Также удалить все после символов ? и #. Остаток - имя файла.
Но если путь не известен, то сначала удалить все после первого вхождения символа ? или #, потом удалить все до последнего символа / или \. Это более универсальный способ. Кстати, имени может и не быть - ссылка оканчиваться на / - то есть имя каталога. А реальное скрытое имя может быть не index.html Но мне почему-то кажется, что может быть уже готовая функция для извлечения имени. Разве нет? |
Да блин! У location куча полезных свойств! Например:
alert(location.pathname); // вернёт полный путь к файлу на сервере Если же нужно только название файла (а не полный путь к нему на сервере), то так: alert(location.pathname.match(/[^/]*$/)); |
Проверил - это работает даже с ? и # в конце пути
Но наверное надо добавить \ так как старые IE могли допускать такие символы в пути. IE8 уже исправляет \ на / автоматически. |
ArmagedDance, а вообще, я бы делал параметрами те различия, которые встречаются на странице. Или вот так:
<script>//здесь пишем глобальными переменными то, что меняется на разных страницах</script> <script src="нужный скрипт, который использует глобальные переменные"></script> |
Часовой пояс GMT +3, время: 03:31. |