Javascript редирект при нажатии на кнопку назад - PullRequest
1 голос
/ 24 сентября 2010

Я новичок в программировании на JavaScript.У меня есть страница, на которой, если нажать кнопку «Назад», я хочу перенаправить на новое место.

Возможно ли это?Я искал это, и я думаю, onbeforeunload () может это сделать, но я не получил его.

С уважением.

Ответы [ 3 ]

2 голосов
/ 24 сентября 2010

Возможно подключить навигационные кнопки браузера, хотя сделать это надежно, кросс-браузер сложно. Лучше всего использовать библиотеку, которая уже сделала тяжелую работу за вас. Например, есть Действительно простая история , которая не зависит ни от какой конкретной библиотеки JavaScript или фреймворка. Большинство основных библиотек JavaScript ( jQuery , Closure , YUI и т. Д.) Либо имеют встроенную поддержку истории, либо плагины для нее. Эти библиотеки помогают улучшить взаимодействие с пользователем при использовании навигации внутри страницы.

Только для того, чтобы оно того стоило, и, возможно, немного не по теме: Вы хотите подключиться к кнопке «Назад», только если вы гарантируете, что она делает то, что ожидает пользователь. Например, вы не хотели бы отнести их к тому, чем они никогда не были прежде, когда они нажимали кнопку «Назад», это было бы ... Я пойду с «неуместным». :-) И вы, конечно, не хотите мешать кнопке «Назад» покинуть вашу страницу, если пользователь только что пришел на нее откуда-то еще. Но есть совершенно допустимые сценарии, в которых вам может понадобиться подключиться к процессу. Например, если вы предоставляете интерфейс с вкладками на странице, которую вы обрабатываете, изменяя видимость div, было бы разумно убедиться, что если пользователь находится на вкладке 1 и нажимает на вкладку 2, а затем нажимает кнопку Назад, они заканчиваются на вкладке. 1 снова.

0 голосов
/ 24 сентября 2010

Пожалуйста, не выполняйте это. Это встречается, нет, этот является кошмаром опыта пользователя.

Кнопка возврата в браузере имеет отступ, чтобы вернуть пользователя на предыдущую страницу. Это его единственная цель. Я не могу придумать причину, по которой вы хотели бы избавиться от этой удобной функциональности.

Хорошо, теперь, когда я вытащил это из моей системы. Вы можете посмотреть на T.J. Решение Краудера. Или вы могли бы вместо этого реализовать что-то вроде следующего:

Вы могли бы открыть новое окно через window.open() в том месте, где вы находитесь, и закрыть текущее окно.

0 голосов
/ 24 сентября 2010

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

Не могли бы вы объяснить, почему вам нужно это сделать,это могут быть другие решения, которые изменяют поведение кнопки «назад».

...