Lors de la navigation sur un site Web, cliquer sur le bouton Précédent ne déclenche généralement pas l'événement de chargement JavaScript dans la plupart des navigateurs, à l'exception pour Internet Explorer. Cela pose un défi pour la mise en œuvre de fonctionnalités qui s'appuient sur ces événements.
Cependant, il existe un solution multi-navigateurs qui exploite le comportement de la présence de jQuery :
<body onunload=""><!-- This triggers a page reload -->
Ce code apparemment inoffensif oblige le navigateur à recharger la page dans Safari, Opera et Mozilla en ajoutant un écouteur d'événement onunload , quel que soit le contenu de le gestionnaire d'événements.
Pour vérifier ce comportement, veuillez utiliser le code suivant :
<body onunload="""><!-- This does the trick --> <script type="text/javascript"> alert('first load / reload'); window.onload = function(){alert('onload')}; </script> <a href="http://stackoverflow.com">click me, then press the back button</a> </body>
Vous constaterez qu'après avoir utilisé onunload, cliquer sur le lien puis appuyer sur le bouton de retour déclenchera le rechargement de la page. Comparez le code suivant, il n'a pas de onunload et ne se rechargera pas lors du retour :
<body><!-- Will not reload on back button --> <script type="text/javascript"> alert('first load / reload'); window.onload = function(){alert('onload')}; </script> <a href="http://stackoverflow.com">click me, then press the back button</a> </body>
Cette solution utilisant le comportement de jQuery peut implémenter des fonctions de type onload dans une variété de navigateurs. Lorsqu'elle est cliquée, elle est déclenchée lorsque le bouton de retour est activé. est pressé. Mais il convient de noter que cela peut ralentir le chargement des pages, sa nécessité doit donc être soigneusement étudiée avant de l'utiliser.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!