Na žalost, ne postoji kulturan način da sprečiš korisnika da koristi back button.
Postoje prljavštine tipa: ako imaš Stranu 1 i Stranu 2, a na Strani 2 želiš da zabraniš back, onda ovo odradiš na Strani 1:
Code:
<script>
if(window.history.forward(1) != null)
window.history.forward(1);
</script>
ali to ne pomaže dobrom user experience.
Ono što možda pomaže je da tvoju aplikaciju lansiraš iz JavaScripta, sa window.open i da kompletno ukloniš toolbar kroz parametre od window.open.
Time je korisnik osuđen na kontrole koje mu ti daješ. Dodatno, možeš čak blokirati i backspace taster javascriptom:
Code:
<script>
function KeyCache() {
if (window.event && window.event.keyCode == 8) {
window.event.keyCode = 123; //Replaces with F12 button. (Does nothing in IE)
}
}
document.onkeydown=KeyCache();
</script>
Ono što ja najčešće primenjujem je pametni workflow; zamisli da svaka od stranica obrađuje jedno od stanja procesa. Sad, trenutno stanje držim u session varijabli na serveru. Ako se desi da se pozove stranica a da je tekuće stanje namenjeno ne toj nego nekog drugoj, uradim prost Server.Transfer na stanicu koja je zadužena za obradu.
I tu treba razno-raznog žongliranja, ali ga barem odradim na serveru i ne patim se sa client-side svemogućim problemima.