используя window.history.back (), мне нужно щелкнуть 4 раза, чтобы вернуться на одну страницу назад - PullRequest
0 голосов
/ 25 мая 2020

Звучит странно, но у меня есть кнопка возврата, использующая JS метод window.history.back (), все, что я хочу, - это go вернуться на страницу предварительного просмотра. Я заметил, что когда я нажимаю, чтобы увидеть страницу сведений о клиенте, где существует моя «кнопка возврата», если я нажимаю перед загрузкой всего документа, кнопка работает нормально, я имею в виду, всего один щелчок, и он возвращается на страницу, на которой я был перед. Но если я подожду, пока документ будет полностью загружен, он включает 3 окна iframe, тогда мне придется нажать кнопку «назад» 4 раза, чтобы вернуться на одну страницу. Это код кнопки:

<a class='btn back pull-right' style='background-color: #45B6AF;color:#ffffff;'>Back</a>

Я использую класс обратно, и это часть JS (extenal js file):

// go back to previous page
$(document).on('click', '.back', function () {
window.history.back();

});

Любые идеи, два дня уже с этим !!!

1 Ответ

0 голосов
/ 25 мая 2020

Загрузка фреймов не должна автоматически добавляться в историю браузера. Вы можете искать вхождения history.pushState, чтобы увидеть, явно ли код добавляется в историю.

В качестве взлома, если ваш код выполняется до изменения истории, вы можете сделать что-то вроде

let oldLength = history.length;

// go back to previous page
$(document).on('click', '.back', function () {
    let currentLength = history.length;
    window.history.go(oldLength - currentLength - 1);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...