Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   history.pushState (https://javascript.ru/forum/events/57660-history-pushstate.html)

sash003 13.08.2015 15:25

history.pushState
 
Привет. Не могу разобраться никак с history.pushState чтобы она работала относительно корня сайта. при переходе по ссылке http://web4myself/php
если в адресной строке в данный момент находится http://web4myself/php/Регулярные+выражения ссылка превращается в http://web4myself/php/php
пробовал указать абсолютные пути /php на реальном сервере выдает ошибку при аякс-запросе
и так тоже не получается
function nullHistory(){
    window.history.replaceState(null, null);
    //window.history.replaceState(null, null, null);
    // history.replaceState(null, null, '');
}


Подскажите, как же это сделать можно? я в шоке просто :(

KosBeg 13.08.2015 20:43

Цитата:

Сообщение от sash003
чтобы она работала относительно корня сайта

function nullHistory(url){
    history.pushState(null, null, url); // добавить адрес
    // history.pushState(null, null, '/php'); // добавить адрес
    // history.replaceState(null, null, '/php'); // заменить адрес
}

Введение в HTML5 History API - хотя бы это почитай

http://web4myself/php/Регулярные+выражения => history.pushState(null, null, 'Новый-адрес'); => http://web4myself/php/Новый-адрес

sash003 14.08.2015 14:01

Читал я это и не только это, я где уже только не копал. Думаешь, я чуть что - сразу на форум чтоли :)
Сразу не догадался, пришлось поёрзать
function nullHistory(){
    
    urls = location.href.split(/\//);
    window.history.pushState(null, null, str_repeat('../', urls.length - 3)); 
      
}


И потом делаю
function responseSelect(){
    nullHistory();
    window.history.replaceState(null, null, _url_);
    preview.fadeOut(1111, function(){
    preview.hide();
    });
}


:dance: :dance: :dance:


Часовой пояс GMT +3, время: 10:07.