Cliquer sur javascript pour faire revenir le navigateur à la page précédente?


252

Existe-t-il une fonction que je peux attacher en tant qu'événement de clic d'un bouton pour faire revenir le navigateur à la page précédente?

<input name="action" type="submit" value="Cancel"/>

7
window.history.back ()
John Strickler

Réponses:


447

Ajoutez ceci dans votre élément d'entrée

<input
    action="action"
    onclick="window.history.go(-1); return false;"
    type="submit"
    value="Cancel"
/>

52
Cela ne fonctionne pas dans tous les navigateurs pour moi, j'ai dû faire ce qui suit. <input action="action" type="button" value="Back" onclick="window.history.go(-1); return false;" />Cette réponse est assez ancienne, donc cela aurait pu être un problème introduit dans les versions plus modernes des navigateurs. :)
ctrlplusb

4
Est-ce que cela montre la page précédente du cache ou recharge la page précédente du serveur?
Adrien

7
À quoi ça action="action"sert? Et est-ce du html valide ??
ban-geoengineering

@Adrien - son javascript, donc il s'exécute dans le navigateur. Le navigateur doit réutiliser la page mise en cache (en supposant que les paramètres du navigateur et les paramètres d'en-tête http de la page le permettent).
ToolmakerSteve

Notez que JS en ligne ne doit pas être utilisé en production car: 1. Le code JS doit être dans des .jsfichiers dédiés et minifiés 2. JS en ligne doit être désactivé via une politique de sécurité du contenu pour atténuer les injections XSS
Theophany

120
history.back()

ou

history.go(-1)

Mettez-le sur la onclickpoignée du bouton . Ça devrait ressembler à ça:

<input name="action" onclick="history.back()" type="submit" value="Cancel"/>

11
Mettez ceci sur le bouton de la poignée de clic
Vadim

7
Vous pourriez être plus clair comme donner la réponse dans le code
WowThatsLoud

3
Quel est le support du navigateur à ce sujet?
Costa

98

Pour aller à la page précédente

Première méthode

<a href="javascript: history.go(-1)">Go Back</a>

Deuxième méthode

<a href="##" onClick="history.go(-1); return false;">Go back</a> 

si nous voulons faire plus d'un pas en arrière, puis augmenter

For going 2 steps back history.go(-2)
For going 3 steps back history.go(-3)
For going 4 steps back history.go(-4)
and so on.......

2
@JeromeJ c'est un lien qui ne fait rien si JavaScript n'est pas activé / fonctionne (pour une raison quelconque) sur la page. Si JavaScript fonctionne, il ramène le navigateur d'une page en arrière.
Jeromy French

14
<input name="action" type="submit" value="Cancel" onclick="window.history.back();"/> 


12

Le plus court encore!

<button onclick="history.go(-1);">Go back</button>

http://jsfiddle.net/qXrbx/

Je préfère la .go(-number)méthode comme alors, pour 1 ou plusieurs `` dos '', il n'y a qu'une seule méthode à utiliser / mémoriser / mettre à jour / rechercher, etc.

De plus, l'utilisation d'une balise pour un bouton de retour semble plus appropriée que des balises avec des noms et des types ...


11

window.history.back ();

<button onclick="goBack()">Go Back</button>

<script>
function goBack() {
    window.history.back();
}
</script>

8

Facile. Une ligne.

<button onclick="javascript:window.history.back();">Go Back</button>

Comme la réponse de Wim et Malik, mais en une seule ligne.


Fonctionne très bien, mais souvent si l'utilisateur décide de changer la langue sur une page spécifique avec le bouton comme celui-ci, le bouton de retour à la page précédente retournera la langue, au lieu de la page ...
Marek Bernád

6

C'est la seule chose qui fonctionne sur tous les navigateurs actuels:

<script>
function goBack() {
    history.go(-1);
}
</script>
<button onclick="goBack()">Go Back</button>

6

Fonctionne pour moi à chaque fois

<a href="javascript:history.go(-1)">
    <button type="button">
        Back
    </button>
</a>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.