Как получить текущее имя каталога в Javascript?
Я пытаюсь получить текущий каталог файла в Javascript, чтобы я мог использовать его для запуска другой функции jquery для каждой части моего сайта.
if (current_directory) = "example" {
var activeicon = ".icon_one span";
};
elseif (current_directory) = "example2" {
var activeicon = ".icon_two span";
};
else {
var activeicon = ".icon_default span";
};
$(activeicon).show();
...
Любые идеи?
Ответы
Ответ 1
window.location.pathname предоставит вам каталог, а также имя страницы. Затем вы можете использовать .substring() для получения каталога:
var loc = window.location.pathname;
var dir = loc.substring(0, loc.lastIndexOf('/'));
Надеюсь, это поможет!
Ответ 2
Вы можете использовать window.location.pathname.split('/');
Это создаст массив со всеми элементами между/
Ответ 3
Для и/и \:
window.location.pathname.replace(/[^\\\/]*$/, '');
Чтобы вернуться без конечной косой черты, выполните:
window.location.pathname.replace(/[\\\/][^\\\/]*$/, '');
Ответ 4
Это будет работать для фактических путей в файловой системе, если вы не говорите о строке URL.
var path = document.location.pathname;
var directory = path.substring(path.indexOf('/'), path.lastIndexOf('/'));
Ответ 5
Предполагая, что вы говорите о текущем URL-адресе, вы можете проанализировать часть URL-адреса, используя window.location
.
См.: http://java-programming.suite101.com/article.cfm/how_to_get_url_parts_in_javascript
Ответ 6
Если вам нужен полный URL, например. http://website/basedirectory/workingdirectory/
использовать:
var location = window.location.href;
var directoryPath = location.substring(0, location.lastIndexOf("/")+1);
Если вам нужен локальный путь без домена, например. /basedirectory/workingdirectory/
использовать:
var location = window.location.pathname;
var directoryPath = location.substring(0, location.lastIndexOf("/")+1);
Если вам не нужна косая черта в конце, удалите +1
после location.lastIndexOf("/")+1
.
Если вам нужно только имя текущего каталога, в котором работает script, например. workingdirectory
использовать:
var location = window.location.pathname;
var path = location.substring(0, location.lastIndexOf("/"));
var directoryName = path.substring(path.lastIndexOf("/")+1);
Ответ 7
window.location.pathname
Ответ 8
Этот однострочный файл работает:
var currentDirectory = window.location.pathname.split('/').slice(0, -1).join('/')