Поднимитесь на одну «папку» или сегмент в jQuery / Javascript - PullRequest
4 голосов
/ 22 декабря 2011

Если я, например, на этой странице

www.example.com/admin/bridge/boilerplate

Каков наилучший способ (используя обычный javascript или jQuery (без загрузки другого плагина), чтобы подняться на один уровень выше, например,

www.example.com/admin/bridge

В настоящее время мы используем

window.history.go(-1);

, который мешает отправке форм и т. Д. Обычно это используется для такой функции:

$("button.cancel").bind("click", function( e ){
    window.history.go(-1);
    e.preventDefault();
});

Ответы [ 4 ]

10 голосов
/ 22 декабря 2011

Простой:

var url = window.location.href;

if (url.substr(-1) == '/') url = url.substr(0, url.length - 2);

url = url.split('/');
url.pop();

window.location = url.join('/');
1 голос
/ 27 марта 2012

спасибо, но это отредактировано:

$("#back a").click(function() {
    var url = window.location.href;

    if (url.substr(-1) == '/') url = url.substr(0, url.length - 2);

    url = url.split('/');
    url.pop();

    window.location = url.join('/');
});
1 голос
/ 22 декабря 2011
var i = window.location.href.lastIndexOf("/");
window.location = window.location.href.substr(0,i)
0 голосов
/ 22 декабря 2011

window.history фактически манипулирует тем, что находится в истории вашего браузера, это то, что используют кнопки назад / вперед в браузере.

Таким образом, если единственный способ попасть в каталог, в котором вы находитесь, - это перейти к нему, просматривая родительские каталоги, это сработает. Тем не менее, это никогда не единственный способ попасть на страницу. Пользователи всегда могут добавить страницу в закладки.

...