2010-09-24 2 views
1

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

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

С уважением.

+0

Что вы намерены делать? Вы хотите запретить пользователям, нажав кнопку «Назад»? Или вы хотите, чтобы ваше приложение не имело побочных эффектов нажатия кнопки «Назад»? – Nivas

+0

Вы не хотите этого делать ... вы будете только раздражать своих пользователей. Лучше писать свой код, чтобы он обрабатывал стандартное использование кнопки «Назад» без нарушения. – MadMurf

ответ

2

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

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

0

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

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

+0

Это скорее комментарий, чем ответ, не так ли? –

+0

Да, если бы мне было позволено прокомментировать, я бы это сделал ... но во время моего ответа никто не спросил его, в чем цель этого. –

+2

ïc: Ах, да, предел, где вам нужно, чтобы 50 представителей не оставили комментарий на чужой вопрос или ответ. Я просто искал ваши ответы, и вам не потребовалось много времени, чтобы найти их для голосования, поэтому вы сможете комментировать в будущем. –

0

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

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

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

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