Подтвердить что ты не робот

Получить имя файла страницы из адресной строки

Мне было интересно, можно ли получить имя страницы из адресной строки, используя jquery или javascript. Я знаю, что это можно сделать с помощью PHP, но на самом деле этого не нужно, поскольку это всего лишь веб-сайт html.

т.е. если адрес www.mywebsite.com/hello.htm, как я могу получить часть hello.htm из адреса.

Спасибо за любую помощь, которую вы можете предоставить.

4b9b3361

Ответ 2

Попробуйте это

location.pathname.substring(location.pathname.lastIndexOf("/") + 1);

location.pathname указывает часть (домен не включен) URL-адреса страницы. Чтобы получить только имя файла, вы должны его расшифровать с помощью метода substring.

Ответ 3

Текущая страница: однострочный звук более элегантный, чтобы найти имя текущей страницы:

location.href.split("/").slice(-1)

или

location.pathname.split("/").slice(-1)

Это здорово настраивать ссылку на навигационное поле, поэтому ссылка на текущую информацию просвещается классом CSS.

JS:

$('.menu a').each(function() {
    if ($(this).attr('href') == location.href.split("/").slice(-1)){ $(this).addClass('curent_page'); }
});

CSS

a.current_page { font-size: 2em; color: red; }

Ответ 4

Попробуйте следующее:

var pageName = (function () {
        var a = window.location.href,
            b = a.lastIndexOf("/");
        return a.substr(b + 1);
    }());

Ответ 6

document.URL.match(/[^\/]+$/);

Просто простая альтернатива.

document.URL возвращает местоположение документа.
. match() - это метод, который фильтрует строку, используя Регулярное выражение.
/[^\/]+$/ извлекает остальную часть строки, начиная с последней встречной косой черты /.

демонстрация

Ответ 7

У меня была проблема, когда мне нужно было удалить параметры строки запроса (?) И/или теги привязки (#). Я сделал это:

var path = window.location.pathname.toLowerCase();
// find the end of path prior the Query and Anchor designations. strip off everything after the ? or #.  
//      if the ? is first, then use ?, else use the #, else use the string length.
// then replace all \ with /
// then split it into an array based on /
var pagePathAry = path.substr(0, path.indexOf("?") > -1 && path.indexOf("?") < path.indexOf("#") ? path.indexOf("?") : path.indexOf("#") > -1 ? path.indexOf("#") : path.length).replace("\\", "/").split("/");
// get the folder it in
var subFolder = pagePathAry[pagePathAry.length - 2];
// get the page name
var pageName = pagePathAry[pagePathAry.length - 1];