web-dev-qa-db-fra.com

détection du bouton précédent du navigateur dans javascript/jquery sans utiliser de plug-in externe

Je veux détecter le bouton précédent du navigateur dans Java-script/jquery sans utiliser de plug-in externe.

Je vais supporter les navigateurs suivants

IE8, IE9, FireFox, Chrome

J'ai googlé tant de liens et trouvé ci-dessous une partie du code du projet de code

<body onbeforeunload=”HandleBackFunctionality()”>

function HandleBackFunctionality()
{
    if(window.event)
   {
        if(window.event.clientX < 40 && window.event.clientY < 0)
        {
            alert("Browser back button is clicked...");
        }
        else
        {
            alert("Browser refresh button is clicked...");
        }
    }
    else
    {
        if(event.currentTarget.performance.navigation.type == 1)
        {
             alert("Browser refresh button is clicked...");
        }
        if(event.currentTarget.performance.navigation.type == 2)
        {
             alert("Browser back button is clicked...");
        }
    }
}

Le code ci-dessus fonctionne correctement IE navigateur. cela signifie que je peux obtenir les valeurs window.event.clientX et clientY dans le navigateur IE. mais en chrome/firefox ne fonctionne pas.

Lorsque le bouton Précédent du navigateur est cliqué, je dois actualiser la page.

comment puis-je détecter l'événement de clic du bouton de retour du navigateur dans tous les navigateurs (IE, Firefox, Chrome)

toute aide serait appréciée.

5
SivaRajini

Cela peut être simplement inséré dans votre page Web et, lorsque l'utilisateur clique en arrière, il appelle une fonction. La fonction par défaut de cet appel est une alerte javascript "Bouton Précédent cliqué".

Pour remplacer cette fonctionnalité, vous devez simplement remplacer la fonction OnBack. Cela peut être fait en utilisant le code ci-dessous.

<script type="text/javascript">
bajb_backdetect.OnBack = function()
{
   alert('You clicked it!');
}
</script>

Cela remplacera désormais l’alerte «Bouton Précédent cliqué» par une alerte «Vous avez cliqué dessus!».
supporte les navigateurs suivants IE8, IE9, FireFox, Chrome
Détection du bouton Précédent du navigateur
Ou en utilisant jquery
Navigateur précédent
Utilisation de la variable javascript standard
Maîtriser le bouton Précédent avec Javascript

4
Hamix

Puisque vous prenez en charge IE 8 et 9 également, il n’existe pas de méthode unique qui puisse vous aider à résoudre ce problème. Vous pouvez utiliser l'historique API de html5 mais cela ne prend pas en charge IE8 et 9. Comme les mystères mentionnés dans le commentaire ci-dessus, vous pouvez utiliser window.onPopState pour chrome, firefox, etc., et pour IE, vous pouvez créer un fichier js séparé et utilisez des instructions conditionnelles pour le déclencher lorsque l'utilisateur utilise IE.

Par exemple:

<!--[if lte IE 9]>
    <script src="youIESpecificfile.js"></script>
<![endif]-->

Pour en savoir plus sur l’API d’historique HTML5, cliquez ici: onPopState by mozilla

J'espère que cela t'aides!

1
Vivin Bangera