Comment puis-je faire Firefox recharger la page en arrière quand le bouton est pressé?
J'ai essayé toutes les combinaisons et permutations des balises meta-tags, qui sont censés arrêter une page à partir de la mise en cache, mais Firefox ENCORE des caches de la page! J'ai juste besoin de l'URL pour recharger lorsqu'un utilisateur appuie sur le bouton retour. Fonctionne très bien avec IE8.
J'ai essayé toutes ces...
<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="-1"/>
<meta http-equiv="Expires" content="Sat, 1 Jan 2000 00:00:00 GMT" />
...et j'ai aussi essayé le code JavaScript suivant...
<input type="hidden" id="refreshed" value="no"/>
<script type="text/javascript">
onload=function(){
var e=document.getElementById("refreshed");
if(e.value=="no"){
e.value="yes";
}
else{
e.value="no";
location.reload();
}
}
</script>
... en vain. Ce qui me manque ici? Les Pages sont générées avec PHP si ce qui compte.
Mise à JOUR 1:
J'ai essayé toutes les suggestions à ce jour, mais je ne peux toujours pas obtenir que cela fonctionne. Lorsque j'utilise de Chris code PHP je l'utilise comme ça...
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<!--the rest of my page-->
.. et comme vous pouvez le voir, il est à l'EXTRÊME haut de ma page, avant les DOCTYPE
en-tête.
J'ai également expérimenté avec session_start()
mais même après avoir lu le manuel, je ne suis pas sûr que je suis à l'aide de la droite. J'ai été le mettre à droite tout en haut de ma page.
Je suis ouvert à TOUTES les SUGGESTIONS qui font ce travail sans casser d'autres fonctionnalités de page. Je sais j'ai vu des pages que recharger à CHAQUE FOIS que le bouton de retour est utilisé, COMMENT font-ILS?!
RÉSOLU!
S'avère que j'avais plusieurs questions de travail contre moi, mais en exerçant une diligence raisonnable, j'ai été en mesure d'éliminer ces problèmes et sortir victorieux.
Après Chris mis à jour son code de...
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
echo time();
?><a href="http://google.com">aaaaaaaaaaaaa</a>
J'ai trouvé que son code n'a fait le travail quand je l'ai utilisé EXACTEMENT comment il était et RIEN d'autre, mais quand je l'ai mis dans mes pages, il ne fonctionne pas. Toutes mes pages sont .php
ou .html
et tous sont attachés à un DWT (Modèle Web Dynamique), j'ai donc été mise à jour toutes à la fois avec Chris du code. Ce que je n'ai pas réalisé c'est que la DWT commence juste APRÈS la DOCTYPE
en-tête, de sorte que le code n'a jamais été inséré dans mes pages. Je n'ai trouvé aucun moyen de faire la DWT inclure la DOCTYPE
en-tête je suis donc allé dans toutes mes pages et insérés manuellement le code au-dessus de la DOCTYPE
en-tête.
Ensuite, j'ai trouvé que même si mon serveur est configuré pour analyser .htm
et .html
comme .php
la .html
pages ont été de générer une erreur lors de la très, où j'avais inséré Chris du code de dire quelque chose à l'effet de "ne peut pas modifier les en-têtes, les en-têtes ont déjà été envoyés". Je n'ai pas vraiment attention à ce que mes extensions ont été donc j'ai juste changé tous mes .html
extensions .php
extensions.
Un dernier problème mineur est que même si la page n'était pas aujourd'hui être mis en cache (tout comme je le voulais), Firefox a été de placer l'utilisateur, lors de leur dernier emplacement sur la page précédente où ils ont utilisé le bouton retour (par exemple si un utilisateur était au bas de la page un quand ils ont navigué vers la page b, alors l'utilisateur a utilisé le bouton retour à la page b il serait renvoyé en bas de page, n'est pas le haut de la page comme désiré). Coupe vers le bas de mon fichier JavaScript fixe cette...
<script type="text/javascript">
onload=function(){
document.getElementById('content').scrollTop=0;
}
</script>
Même si cela semble très impliqué pour un simple problème je suis content que ce soit résolu. Merci pour votre aide tout le monde (surtout Chris).
Je ne le pense pas, mais j'ai essayé les deux façons de faire en sorte que... pas de chance.
OriginalL'auteur ubiquibacon | 2011-01-07
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne pour moi
faire un nouveau fichier php. Je peux utiliser les boutons précédent et suivant et le numéro sur la page des mises à jour
est-il possible je suis en train de monter ce dans le mauvais endroit? J'ai essayé dans la
<head>
balise, juste après la<html>
balise, juste avant la<html> tag, and at the very top of the page, before the
DOC TYPE", aucun n'a fonctionné.Il faut la mettre avant TOUT, y compris n'importe quel espace (espaces, sauts de ligne, etc) @faute de frappe.
ne fonctionne toujours pas. Quelqu'un peut-il confirmer que l'un de ces, des solutions de travail dans Firefox?
Le code php que j'ai posté fonctionne si utilisé correctement.
OriginalL'auteur goat
Vous pouvez ajouter le Code PHP suivant dans votre Page PHP.
Version de PHP:
Et également vous pouvez ajouter après le Code Java Script de Login/Page Maître à
<head>
Section:Compatibilité vérifiée dans
OriginalL'auteur Abhishek Shringi
Découvrez en direct les en-têtes http, vous verrez quand vous appuyez sur le bouton de retour, aucune demande n'est faite. Ce qui est fait à dessein, afin de ne pas perdre ce que vous avez tapé dans les formulaires.
Modifier
Quelques post sur les experts de l'échange a dit cela a fonctionné, mais son partir de 2006.
Puis un javascript actualiser
OriginalL'auteur profitphp
Je pense que la valeur correcte est "no-cache"
OriginalL'auteur nedk
Qui devrait générer automatiquement tous les en-têtes. Notez que certains navigateurs, comme Opera, continuent d'ignorer ces lorsque vous utilisez le bouton de retour.
MODIFIER
Pertinentes en-têtes sont comme suit, dans le cas où vous souhaitez générer une autre façon:
Haha, merci, j'ai oublié que. Édité.
c'est assez similaire à ce que chris a posté, et je ne peux pas l'une de vos suggestions pour le travail.
OriginalL'auteur kijin
Pourquoi?
Je veux dire, pourquoi voulez-vous faire cela?
Lorsque j'appuie sur le bouton de retour, je veux la norme en fonction de laquelle le navigateur permet de revenir à la page précédente. Je ne veux pas une surprise.
Si elle est à l'arrêt accidentel d'une nouvelle présentation d'un POST, qui peut être réalisée facilement par la fin de la manutention de POSTES avec une redirection pour afficher l'souhaité répondre en utilisant un OBTENIR. Un plus tard, de retour dans cette page, s'affiche à nouveau l'redirigé OBTENIR (ou de le recharger à partir du cache qui doit avoir le même résultat). C'est ce qu'attend l'utilisateur et est inoffensif.
Ceci a l'avantage que si votre sauvegarde a échoué lors de la mise à jour de la base de données, l'écran affiche ce qui est à la base de données, pas de ce qui a été laissé dans les variables.
OriginalL'auteur Ian
Vous avez posté un commentaire:
Si vous voulez éviter cela, vous le faites mal! 🙂
Ce que vous devez faire est une redirection lorsque le formulaire a été soumis.
OriginalL'auteur PeeHaa