1 et 1
La copie de code est la suivante:
<script linguisse = "javascript">
javascript: window.history.forward (1);
</cript>
En utilisant JS pour générer une action "avant" pour compenser la fonction de retour, cette méthode doit être la plus simple et n'a pas besoin de considérer la situation où l'utilisateur pointe "en arrière" deux fois ou plusieurs fois. Il expirera après.
2
La copie de code est la suivante:
<A href = "logout.do" onclick = "javascript: location.replace (this.href); event.returnvalue = false;">
Déconnexion (dos désactivé)
</a>
Utilisez l'emplacement. Replace pour passer d'une page à une autre. Le principe de cette méthode est de remplacer l'historique actuel par l'URL de la nouvelle page, afin qu'il n'y ait qu'une seule page dans l'historique de navigation et que le bouton arrière ne sera jamais disponible. Je pense que c'est peut-être exactement l'approche que les nombreuses personnes recherchent, mais cette approche n'est toujours pas la meilleure façon de tout cas. L'inconvénient de cette approche est que l'utilisation simplement de la réponse.redirect ne fonctionnera plus, car chaque fois que l'utilisateur passe d'une page à une autre, nous devons effacer l'emplacement. Histoire avec le code client. Notez également que cette méthode efface le dernier historique d'accès, pas tous les enregistrements d'accès.
3 et 3
Lorsque le clavier appuie sur la touche arrière (arrière-espace)
1. Interdire au navigateur de soutenir automatiquement
2. Mais cela n'affecte pas le fonctionnement de secours du mot de passe, du texte à une seule ligne, de la boîte d'entrée de texte multi-lignes, etc.
La copie de code est la suivante:
<script type = "text / javascript">
// sauf pour le mot de passe arrière ou les zones de texte unique ou multi-lignes lors de la gestion des événements du clavier, à l'exception de BackSpace.
fonction banbackspace (e) {
var ev = e || window.event; // obtenez un objet d'événement
var obj = ev.target ||
var t = obj.type ||
// Obtenez le type d'événement comme condition de jugement
var vreadonly = obj.getAttribute ('readonly');
var venable = obj.getAttribute ('activé');
// Gérer la situation de valeur nulle
vReadonly = (vReadonly == null)?
Venable = (vevenable == null)?
// Lorsque la touche arrière est tapée, le type de source d'événement est un mot de passe ou un texte unique ou multi-ligne.
// Si la propriété ReadOnly est vraie ou que la propriété activée est fausse, la touche arrière ne sera pas valide
var Flag1 = (ev.KeyCode == 8 && (t == "mot de passe" || t == "text" || t == "textarea")
&& (vReadonly == true || venable! = true))? true: false;
// Lorsque la touche arrière est tapée, si le type de source d'événement n'est pas un mot de passe ou une ligne unique ou plusieurs lignes de texte, la touche arrière ne sera pas valide.
var flag2 = (ev.KeyCode == 8 && t! = "mot de passe" && t! = "text" && t! = "textarea")
? Vrai: Faux;
//juge
if (flag2) {
retourne false;
}
if (flag1) {
retourne false;
}
}
// La touche arrière est interdite d'agir sur Firefox et l'opéra
document.onKeyPress = banbackspace;
// La touche arrière est interdite d'agir sur IE et Chrome
document.onkeydown = banbackspace;
</cript>
Les méthodes ci-dessus réagissent toutes au bouton "Back", et le navigateur client doit ouvrir le code JavaScript.
4. Pas de mise en cache
La copie de code est la suivante:
<%
Response.sethEader ("Cache-Control", "No-cache");
Response.sethEader ("Cache-Control", "No-Store");
réponse.setDateHeader ("expire", 0);
Response.sethEader ("Pragma", "No-Cache");
%>
Cette méthode utilise des scripts côté serveur pour forcer le navigateur à revisiter la page de téléchargement du serveur sans lire à partir du cache et combine la balise <logique> dans la page JSP de Struts pour atteindre la redirection.
Toutes les méthodes ci-dessus ont certaines limites
5
La copie de code est la suivante:
<script linguisse = "javascript">
Fonction Logout () {
window.close (true);
window.open ("Logout.do");
}
</cript>
<bouton onClick = "Logout ()"> Logout </futton>
Cette méthode est paresseuse. La fenêtre est grise), il semble que cela semble que c'est un bon moyen, mais ses inconvénients sont assez évidents:
Premièrement, la taille des fenêtres du navigateur fermé et rouvert peut être différente, et l'utilisateur peut clairement voir ce processus et affecter l'opération dans une certaine mesure.
Deuxièmement, supposons ci-dessus, il s'agit d'une méthode JavaScript.