Отключить кнопку браузера назад для определенной страницы [дубликата]

0

В моем веб-приложении у меня сначала есть логин, а затем, если вход успешно завершен, я перенаправляю пользователя на страницу своей учетной записи. Я хочу отключить кнопку "Назад назад" (показано ниже), когда он находится на странице учетной записи после входа в систему.

Изображение 174551

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

  • 0
    Какова причина, чтобы сделать это? Давайте предположим, что есть кнопка возврата, и что?
  • 0
    я не хочу использовать метод history.forward, потому что он делает это для всех других страниц. Это возможно сделать только с определенной предыдущей страницы. я имею в виду предположим, что я применяю этот код на default.aspx, но он должен применять это только с определенной предыдущей страницы. не для всех
Показать ещё 2 комментария
Теги:

2 ответа

2

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

Однако я вижу, что есть лучший способ решить вашу проблему. Вы можете использовать одну и ту же страницу для контента и входа в систему, а также сеанс страницы, чтобы избежать функциональности кнопки "Назад". Вы можете сделать что-то вроде:

if(user has valid session)
   include (account_page)
else if (login form has been submitted)
   if (valid user)
     include (account_page)
     create new session for this user
    else 
       include (login_page)
else
   include (login_page)
0

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

Если вы используете MVC, это легко сделать, возвратив новый объект RedirectAction в действие индекса в AccountController (или везде, где вы показываете страницу учетной записи)

public ActionResult Index()
{
    if (User.Identity.IsAuthenticated)
        return RedirectToAction("index", "home");

    ... do your other code here if they are not authenticated
}
  • 0
    это учитывает кеш браузера?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню