Предотвратить повторное открытие кнопки браузера назад на предыдущей странице - PullRequest
1 голос
/ 03 июня 2010

Как запретить браузеру открывать всплывающее окно, которое отображалось на предыдущей странице, когда пользователь нажимает кнопку "Назад"?

Я надеюсь, что это имело смысл, но я объясню это в форме пункта ниже:

Есть три страницы: Страница1, Страница2, Страница3

  1. Пользователь загружает Page1 и щелкает ссылку для загрузки Page2 в новом окне, используя JavaScript (то есть window.open (...)). Пользователь может закрыть Page2 в любое время по своему усмотрению - но мы предполагаем, что пользователь делает это до шага 2.

  2. Теперь пользователь нажимает ссылку на странице Page1, чтобы загрузить страницу 3.

  3. Теперь пользователь находится на странице 3 и нажимает кнопку "Назад" в своем браузере.

  4. Страница 1 отображается в браузере, но страница 2 отображается снова во всплывающем окне.

Итак, мне интересно, есть ли способ предотвратить повторное появление Page2. Я использую классический ASP, если это имеет значение.

Ответы [ 3 ]

2 голосов
/ 05 июня 2010

Если страница2 открывается в результате нажатия на ссылку, как она автоматически открывается при нажатии кнопки «Назад»? Если страница 2 не открывается автоматически при начальной загрузке страницы 1, она не должна появляться из-за нажатия кнопки «назад» - нажатие кнопки «Назад» не приводит к щелчку по ссылке на предыдущей странице. Я подозреваю, что на вашей странице происходит что-то еще - можем ли мы увидеть код, пожалуйста?

1 голос
/ 13 декабря 2010

Страница перенаправляла на себя и вставляла код JavaScript, чтобы открыть новое окно на основе ранее нажатой кнопки.Я думаю, что это определено через почту или методы получения.Я забыл сейчас.

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

С тех пор мы оставили классический ASPпозади, поэтому я не могу проверить какие-либо предложения, но ценю помощь.

1 голос
/ 06 июля 2010

вы можете попробовать создать переменную сеанса на странице2. и проверьте, существует ли он при открытии страницы1. или используйте куки.

EDIT:

Function IsPostBack()
    IsPostBack = (Request.ServerVariables("REQUEST_METHOD") = "POST")
End Function

хотя это не обнаружит обновление страницы ..

...