У меня есть мобильная веб-страница (скажем, C ), на которой я показываю значок back
.В настоящее время эта страница always opened in new tab
только через одну ссылку, которая находится на другой странице (скажем, A ) моего сайта.Поэтому в настоящее время, on click
этой кнопки назад, я просто написал window.close()
, чтобы закрыть вкладку.Кнопка возврата на мобильном телефоне также закрывает вкладку.
Теперь мне нужно предоставить ссылку на страницу C с другой страницы B , которая открывает C in the same tab
как у B .Но на этот раз нажмите back button
на странице C , it should not close the window
, но вернитесь на предыдущую страницу, то есть B .То, что я сделал, это добавление вызова history.back () перед вызовом window.close (), как показано ниже:
CODE:
document.querySelector('#detailsbackBtn a')
.addEventListener('click', function () {
history.back();
window.close();
});
Какhistory.back () ничего не делает, если нет предыдущей истории, которую нужно просмотреть, когда я пришел из A to C
, выполняется window.close()
, что закрывает вкладку.И когда я прихожу из B to C
, history.back () выполняется, который возвращает историю (обратно на страницу B ) и не закрывает окно.Я проверил его, и он отлично работает.
НО , из w3Org doc , history.back () queues a task
, что означает window.close()
mustбыть executed
и должен закрыть окно ().Это означает, что при переходе от B to C
вкладка должна закрываться, что я не наблюдаю.