2009-12-23 8 views
0

J'écris un meta tag pour actualiser la page web. Maintenant, je veux rafraîchir une page seulement une fois. Quel est le code pour rafraîchir la page seulement une fois. S'il vous plaît aidez-moi à résoudre le problème ...Actualiser la page seulement le temps

Merci à l'avance ..

+0

Pourquoi avez-vous besoin de ne rafraîchir la page qu'une seule fois? –

Répondre

1

utilisation de javascript vous pouvez définir un cookie avec une variable « refreshed » dans et vérifier si elle est définie, sinon actualisez la page . Bien sûr, cela implique beaucoup de code pour le réglage et la lecture du cookie, plus la fonction à appeler lorsque vous rechargez.

Mon approche serait vars url, puis de nouveau c'est php pas les balises meta, ce serait quelque chose comme ceci:

<?php 
    if($_GET['r'] != 1) header('refresh: 0; url=/index.php?r=1'); 
?> 

qui recharge la page définissant une variable dans l'URL, dans ce cas r pour rafraîchir , comme vrai. Donc, la prochaine fois qu'il chargera, il ne rechargera pas. Cela fonctionne, c'est juste une ligne de code et cela vous permettra d'économiser du temps de codage et de faire le travail.

Mise à jour: (l'utilisateur voulait en asp)

devrait fonctionner, mais je n'ai pas essayé et je ne peux l'essayer au moment (je suis à l'aéroport)

<% 
    dim refreshOnce 
    refreshOnce = request.querystring("r") 

    if refreshOnce <> 1 then Response.AddHeader "Refresh", "0;URL=/index.php?r=1" 
%> 
+0

Merci et c'est bien, mais je travaille dans asp.net de quelle manière j'écris le code dans la page .aspx. Aidez-moi s'il vous plaît .. – Raghu

+0

Je ne travaille pas avec asp mais un peu de recherche m'a aidé à traduire le code à celui montré maintenant, ne l'ai pas essayé cependant. – johnnyArt

0

Javascript solution, en utilisant un champ de formulaire pour stocker l'état:

<html> 
    <head> 
    <script language="javascript"> 
     function init() { 
     var form = document.getElementById('theform'); 
     var input = form.refreshed; 
     function reload() { 
      location.reload(false); 
     } 
     function isRefreshed() { 
      return !!input.value; 
     } 
     function doDisplay() { 
      var el = document.getElementById(isRefreshed() ? 'two' : 'one'); 
      el.style.display = 'block'; 
     } 
     function conditionalRefresh() { 
      if (!isRefreshed()) { 
      input.value = 'true'; 
      setTimeout(reload, 1000); 
      } 
     } 
     doDisplay(); 
     conditionalRefresh(); 
     } 
    </script> 
    </head> 
    <body onload="init();"> 
    <form id="theform"> 
     <input type="hidden" name="refreshed" /> 
    </form> 
    <div id="one" style="display: none;"> 
     one 
    </div> 
    <div id="two" style="display: none;"> 
     two 
    </div> 
    </body> 
</html> 
Questions connexes