2009-07-07 10 views
1

Je me demandais s'il y avait un moyen par php ou javascript, je pourrais dire au navigateur de revenir à la page d'où il vient, ou même mieux ne pas charger la page du tout (ce dernier étant probablement impossible).Forcer le navigateur Retour à une page

La raison en est que j'ai écrit un petit script php qui va prendre les paramètres de l'URL et publier un tweet discrètement pour moi pendant que je suis au travail.

ex.

tweet.php?user=myname&pass=mypass&message=My message goes here 

Bien que cela fonctionne, je suis coincé avec une page blanche. Ce serait bien si je pouvais avoir le navigateur revenir à la page où il était juste, donc la pause entre le travail serait minime.

Merci pour votre aide!

Répondre

4

La fonction JavaScript pour ceci est window.back(). Demandez à votre script PHP produire quelque chose comme ce qui suit pour avoir les navigateurs automatiquement « redressées » à la page présentant le mémoire:

<html> 
    <head> 
     <title>Success</title> 
    </head> 

    <body onload="window.back()"> 
     <h1>Success</h1> 
    </body> 
</html> 

navigateurs non-JS verront un message de « succès », les navigateurs JS vont se rebondi.

+0

Merci beaucoup. Cela m'a semblé la réponse la plus "complète". –

9

javascript: history.go(-1); 
+0

Ou ... history.go (-1); dans les balises de script. –

2

Vous pouvez effectuer les opérations suivantes en PHP pour rediriger vers la page précédente:

<?php 
$ref = $_SERVER['HTTP_REFERER']; 
header('refresh: 10; url='.$ref); 
?> 
+4

Clever. Sachez cependant que 'Referer' n'est pas fiable à 100% et que cela perdra, par exemple, le contenu des champs de formulaire (qui sont normalement conservés lors d'un retour/retransmission), car il comptera comme un nouveau chargement de page. –

+0

Pour être honnête, je ne pense pas que ce serait un problème pour ce scénario particulier! Mais bon point tout de même. – James

0

Si l'utilisation d'utiliser un PHP HEADER, vous pouvez rediriger vers un autre point sur le site. Travail de pause minimal (tant que le processus n'est pas très long).

2

En fonction du navigateur, un HTTP response code de 204 ou 205 peut empêcher l'affichage de la page en cours.

+0

204 est le chemin à parcourir ici. – EricLaw

0

Dans tweet.php, utilisez la fonction header pour rediriger les referer

0

personnes RENVOYER à la page sans message de réussite serait très déroutant. Je ferais l'appel avec AJAX et fournirais quelques retours à l'utilisateur que l'action a été exécutée avec succès, tout comme le système de vote ici fonctionne sur SO.

Questions connexes