Je voudrais désactiver le bouton Précédent lorsque l'utilisateur clique sur la fermeture de session pour supprimer uniquement les cookies de cet utilisateur qui ne se connecte pas à mon application. Et voulez désactiver le bouton Précédent
if(getCookie('username') == ""){
Disable back button;// we use "window.history.redirect" for javascript i look jquery for this
}
Aidez-moi, s'il vous plaît..
vous devez pousser votre url dans pushState et nettoyer l'historique du navigateur:
essaye ça :
$(document).ready(function() {
window.history.pushState(null, "", window.location.href);
window.onpopstate = function() {
window.history.pushState(null, "", window.location.href);
};
});
CODE:
<HTML>
<HEAD>
<SCRIPT type="text/javascript">
window.history.forward();
function noBack() {
window.history.forward();
}
</SCRIPT>
</HEAD>
<BODY onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">
</BODY>
</HTML>
var path = 'Test.aspx'; //write here name of your page
history.pushState(null, null, path + window.location.search);
window.addEventListener('popstate', function (event) {
history.pushState(null, null, path + window.location.search);
});
Cela fonctionne sur tous les navigateurs (sauf <IE10) même si des chaînes de requête sont ajoutées aux URL.
Pour cela, vous n'avez même pas besoin de jQuery.
regardez ici à appliquer pour votre page.
Utilisez le code suivant tel quel :
window.onload = function () {
if (typeof history.pushState === "function") {
history.pushState("jibberish", null, null);
window.onpopstate = function () {
history.pushState('newjibberish', null, null);
};
}
else {
var ignoreHashChange = true;
window.onhashchange = function () {
if (!ignoreHashChange) {
ignoreHashChange = true;
window.location.hash = Math.random();
}
else {
ignoreHashChange = false;
}
};
}
};
Ce n’est pas exactement votre approche, mais vous pouvez désactiver le panneau de navigation de n’importe quelle fenêtre à l’aide de javascript. Réglez simplement window.menubar
et window.toolbar
visibilité sur false
comme suit,
window.menubar.visible = false ;
window.toolbar.visible = false ;
Mise à jour:
La modification de la visibilité de la barre de menu et de la barre d’outils d’une fenêtre existante semble violer les protocoles de sécurité. ( https://developer.mozilla.org/en/DOM/window.menubar )
Par conséquent, le seul moyen réel consiste à ouvrir une nouvelle fenêtre avec la barre de menu et la barre d’outils définies sur "non":
window.open(url,name,"menubar=no,toolbar=no[, additional options]",true) ;
Si vous définissez l'argument de remplacement (le dernier argument) sur true, la nouvelle fenêtre doit également hériter de l'historique de la fenêtre dans laquelle elle a été ouverte.
Vérifiez https://developer.mozilla.org/en/DOM/window.open et http://msdn.Microsoft.com/en-us/library/ms536651(VS.85).aspx pour référence.
Cela fonctionnera, cela a fonctionné pour moi car je traite avec des navigateurs mobiles, Android et iOS.
window.history.forward();
window.onload = function()
{
window.history.forward();
};
window.onunload = function() {
null;
};
Sunil avait raison, mais pour utiliser jQuery, collez le code ci-dessous dans toute page que vous souhaitez empêcher de revenir en arrière. J'ai testé cela dans IE 11, chrome et FF, ce qui a bien fonctionné.
$(document).ready(function () {
function disableBack() {window.history.forward()}
window.onload = disableBack();
window.onpageshow = function (evt) {if (evt.persisted) disableBack()}
});
Logique simple: avancer lorsque vous cliquez avant
function preventBack() {
window.history.forward();
}
window.onunload = function() {
null;
};
setTimeout("preventBack()", 0);
Gardez ce code js dans votre page cela fonctionne.