2014-11-07 3 views
1

Я работаю над одним проектом, который имеет МНОГО пФ страницы ..Очистить историю OnClick кнопки обратно браузера

Мои страницы структура выглядит следующим образом: Войти >> приборную панель >> добавить >> просмотр >> редактирование и так на ... Проблема, перед которой я столкнулся: Если я нажал кнопку «Назад», и я нахожусь на странице входа, а затем снова. Если я нажал кнопку «Назад», она снова перенаправляется на страницу панели мониторинга.

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

Я попробовал много фрагментов кода, весь код, я добавил в странице входа: Некоторые из них приведены ниже:

Javascript код: 1)

var Backlen=history.length; 
history.go(-Backlen); 
window.location.href=contextPath + "login.jsp"; 

2)

function preventBack(){window.history.forward();} 
setTimeout(preventBack(), 0); 
window.onunload=function(){null}; 

3)

function disableBack() { window.history.forward() } 
window.onload = disableBack(); 
window.onpageshow = function(evt) { if (evt.persisted) disableBack() } 

также попытался Java-код, как хорошо очищается с помощью сессий ниже кода:

<% 
String forwardUrl = ""; 
if(sessionTimeout!=null) 
{ 
request.setAttribute("timeoutMessage", sessionTimeout); 
forwardUrl="login.jsp?locale="+locale+"&timeoutMessage="+sessionTimeout; 
}else 
{ 
forwardUrl="login.jsp?locale="+locale; 
request.getSession().removeAttribute(sessionTimeout); 
} 
%> 
+1

Извините, но это невозможно. См. Здесь: http://stackoverflow.com/questions/20044554/how-to-clear-browsing-history-using-javascript – Paul

+0

Получите это прямо: браузер является собственностью пользователя, это не ваше манипулировать и калечить. Эта история есть, она останется там, и вы ничего не можете с ней поделать, кроме как правильно создать свое веб-приложение, чтобы это не имело значения. – Gimby

+0

atleast Я могу очистить значение сеанса, когда я перенаправлен на страницу входа? – Monica

ответ

0

Как MDN window.history() описывает:

Для страниц верхнего уровня вы можете увидеть список страниц в сеансе история, доступная через объект «История», в выпадающих меню браузера рядом с кнопками «назад» и «вперед».

По соображениям безопасности объект History не разрешает незащищенному коду доступ к URL-адресам других страниц в сеансе , но он позволяет ему перемещаться по истории сеансов.

Невозможно очистить историю сеансов или отключить навигацию взад-вперед от непривилегированного кода . Ближайшим доступным решением является метод location.replace(), который заменяет текущий элемент истории сеанса указанным URL-адресом.

+0

Использование history.pushState() может очистить «вперед» историю. –

Смежные вопросы