Lorsque nous travaillons sur un projet Web, nous avons rencontré une exigence. Lorsque la page n'a pas d'historique de prédécesseur (c'est-à-dire que la page est actuellement un nouvel émission, et nous ne pouvons pas faire l'opération GOBACK, c'est-à-dire History.go (-1)), puis fermez directement la page lorsque vous cliquez sur le bouton de retour, sinon il reviendra à la page précédente.
Le problème rencontré est de savoir comment juger si l'histoire peut se rabattre. Ceci est très gênant, car il n'y a pas une telle fonction qui peut être directement obtenue, et elle ne peut être traitée que via la variable History.Length. Cependant, pour IE, la valeur de retour de la longueur est différente de celle du non-IE. IE: History.Length = 0, non IE est 1, donc une fonction a été écrite pour implémenter la fonction requise avant. Partager avec tout le monde.
/ ** * Retournez à la page précédente (ou fermez cette page) * <li> S'il n'y a pas d'historique sur la page précédente, fermez directement la page actuelle </li> * / fonction GOBACK () {if ((navigator.useragent.indexof ('MSIE')> = 0) && (Navigator window.history.go (-1); } else {window.opener = null; window.close (); }} else {// Browser non iie if (navigator.useragent.indexof ('firefox')> = 0 || navigator.useragent.indexof ('opera')> = 0 || navigator.useragent.indexof ('safari')> = 0 || Navigator.UserAgent.Indexof ('Chrome')> = 0 || Navigator navigator.useragent.indexof ('webkit')> = 0) {if (window.history.length> 1) {window.history.go (-1); } else {window.opener = null; window.close (); }} else {// Unknown Browser Window.history.go (-1); }}}