Не могу вернуться после изменения window.location.href - PullRequest
0 голосов
/ 02 ноября 2018

В моем скрипте я отслеживаю, на какой вкладке я на веб-странице, используя

window.location.href = #!hashName1

Если я затем нажму на другую вкладку, она перейдет на #! HashName2

Моя проблема в том, что если я нажму кнопку «Назад», она просто вернется в состояние #! HashName1. Я должен затем нажать еще раз, чтобы вернуться на другую страницу.

Есть ли способ, чтобы он просто вернулся на страницу, а не вернулся к предыдущему состоянию хеша?

Спасибо

Ответы [ 3 ]

0 голосов
/ 02 ноября 2018

будет срабатывать всякий раз, когда вы нажимаете кнопку «Назад» и добавляете предыдущий URL

 window.onbeforeunload = function() {
            window.location.href = document.referrer;
    }
0 голосов
/ 03 ноября 2018

Следующие отлично работали:

Я изменил:

window.location.href = #!hashName1

до

history.replaceState("", "", #!hashName1);
0 голосов
/ 02 ноября 2018

вы можете обработать событие кнопки назад, как это

window.onhashchange = function() {
  goBack();
}

function goBack() {
    window.location.hash = window.location.lasthash[window.location.lasthash.length-1];
    //blah blah blah
    window.location.lasthash.pop();
}
...