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"/>
Doc Holiday
la source
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"
/>
rogerlsmith
la source
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"/>
Vadim
la source
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.......
Rizwan Gill
la source
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();"/> 
hspain
la source
12

Il vous suffit d'appeler comme suit:

history.go(-1);
Rich O'Kelly
la source
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 ...

Michael Durrant
la source
11

window.history.back ();

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

<script>
function goBack() {
    window.history.back();
}
</script>
Malik Khalil
la source
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.

Andre Mesquita
la source
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>
Wim Mostrey
la source
6

Fonctionne pour moi à chaque fois

<a href="javascript:history.go(-1)">
    <button type="button">
        Back
    </button>
</a>
Mannu saraswat
la source