Можете ли вы обнаружить / перенаправить нажатие кнопки назад через JavaScript?

Я пытаюсь обнаружить и изменить поведение браузера, если пользователь нажимает кнопку «Назад».

Возможно ли это даже через Javascript?

 Stephen P05 окт. 2010 г., 00:55
Ты можешь испортить мою кнопку назад, когда вырвет ее из моих холодных мертвых рук.
 Alex05 окт. 2010 г., 00:45

Ответы на вопрос(3)

Я только что задал тот же вопрос, который был закрыт, потому что это ваш дубликат. Вот суть моего решения:

Поля формы автоматически выбираются из кеша браузера, таким образом, сохраняя исторические данные. в то время как это правда, код JavaScript выполняется каждый раз независимо.

Поэтому я создал небольшое скрытое поле для хранения метки времени и сравнил ее с сгенерированным временем данных JavaScript.

Вот код, я уверен, что он может быть реализован намного лучше, хотя времени мало:

$(document).ready(function () {
     var date = new Date();
     var clientMiliseconds = date.getTime();
     clientMiliseconds = roundTime(clientMiliseconds);
     var serverTimeStamp = $('#' + '<%= hfTimeStamp.ClientID %>').val();
     serverTimeStamp = roundTime(serverTimeStamp);
     alert(serverTimeStamp == clientMiliseconds);
});


function roundTime(time) {
    time = Math.floor(time);
     //since the server renders the time components a few seconds before the page is downloaded 
     //which also depends on where you assign the date on the serverside 
     //we've got a small inaccuracy of few seconds. we neglect these seconds, assuming that it would take the user
     //a few seconds to click the back button

     time = time / 10000;
     time = Math.floor(time);
     return time;
}

Можно было бы реализовать только ссылку «Назад» на вашей html-странице, а затем добавить туда свою функцию JS. Однако невозможно определить, что пользователь делает с браузером (например, нажав кнопку «Назад» в браузере) в JS, потому что это происходит вне контекста загруженной страницы, и нет стандартной спецификации для подачи данных на веб-сервер. из графического интерфейса браузера. Вы можете попытаться разработать собственный плагин для этого, чтобы он работал в браузере и передавал на сервер www данные об этом, но опять же, это нестандартное решение, и не все пользователи могли бы легко установить какой-либо сторонний плагин.

Надеюсь это поможет.

Решение Вопроса

Ух, я только что многому научился, прочитав этот урок по javascript. Это говорит о следующих вещах:

Освоение кнопки «Назад» с использованием Javascript

window.onbeforeunloadВы действительно, действительно уверены, что хотите покинуть мою славную страницу?Обнаружение, когда пользователь нажал кнопку ОтменаДействительно динамичные страницыНекоторые соображения безопасности.Вы не можете изменить историю, и, наконец,Если вы ДОЛЖНЫ контролировать историю

который говорит о том, как история была сделана с замком. Вы можете сделать ограниченные изменения. Но вы можете указать заменяющий URL-адрес, чтобы, если пользователь решил вернуться, он перенаправит его на другую страницу. Это будет хорошо по соображениям безопасности, если кто-то входит в систему, а затем выходит из системы, а другой человек нажимает кнопку «Назад», страница будет просто перенесена на страницу замены.

Проверьте это Очень короткая и точная, информативная статья / учебник и содержит много фрагментов Java, которые помогут вам для каждого раздела.

http://www.hunlock.com/blogs/Mastering_The_Back_Button_With_Javascript

Надеюсь, это поможет.

PK

Ваш ответ на вопрос