2017-02-02 1 views
0

Ich habe über 10 verschiedene Möglichkeiten, die ich hier gefunden habe und die einzige gefunden, die in der Nähe funktioniert. Ich habe ein Problem damit, dass Hostgator plötzlich keine neuen Inhalte auf PHP-Seiten anzeigt, die auf Daten aus Textdateien und/oder Datenbanken zugreifen und diese anzeigen. Diese Seiten sind seit Jahren vorhanden und funktionieren auch weiterhin auf anderen Hosts. Das einzige Problem, das ich mit dem unten stehenden Skript habe, ist, dass die Seite beim ersten Besuch nicht aktualisiert wird. Nach der ersten Aktualisierung werden dann Änderungen angezeigt. Ich brauche etwas, das die ganze Zeit unabhängig von einem Besucherverlauf oder Browsereinstellungen aktualisiert wird.So erzwingen Sie eine Seite nur einmal bei jedem Besuch zu aktualisieren

<script type='text/javascript'> 
    (function() 
    { 
     if(window.localStorage) { 
      if(!localStorage.getItem('firstLoad')) { 
       localStorage[ 'firstLoad' ] = true; 
       window.location.reload(); 
      } 
      else 
       localStorage.removeItem('firstLoad'); 
     } 
    })(); 

</script> 
+0

Das Entfernen eines Speichers, der die Seite geladen hat, vereitelt den Zweck, den Überblick zu behalten. – tadman

+0

Ideal wäre es für Hostagtor, das Problem zu beheben. Stattdessen schlagen sie vor, Code als Bandaid zu verwenden. Ich habe auch META TAGs ausprobiert. Muss etwas sein, um eine einmalige Aktualisierung auf der Seite zu erzwingen –

+0

Sie können auch loslegen auf Hostgator, da es viel bessere Möglichkeiten für das Hosting als das gibt. Persönlich finde ich ein einfaches, kostengünstiges VPS für Skriptseiten oder Dinge wie [GitHub Pages] (https://pages.github.com) oder [Amazon S3] (http://docs.aws.amazon.com/AmazonS3/latest) /dev/Welcome.html) für statische Sites funktioniert sehr gut. – tadman

Antwort

0

können Sie einen Cookie verwenden:

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1,c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
    } 
    return null; 
} 

(function() 
{ 
    var value = readCookie('mycookiereload'); 
    if(value == null) 
    { 
     var date = new Date(); 
     date.setTime(date.getTime()+(3600000)); 
     var expires = "; expires="+date.toGMTString(); 
     document.cookie = "mycookiereload=1"+expires+"; path=/"; 
     alert("going to reload"); 
     window.location.reload(); 
    } 
    else 
    { 
     var date = new Date(); 
     date.setTime(date.getTime()-(3600000)); 
     var expires = "; expires="+date.toGMTString(); 
     document.cookie = "mycookiereload="+expires+"; path=/"; 
     alert("kill cookie"); 
    } 
})(); 

diese ein Mal die Seite neu geladen wird. Jedes Mal, wenn Sie eine Seite besuchen, überprüft es das Cookie, wenn es nicht vorhanden ist, erstellt und lädt es neu, wenn es dort ist, entfernt es das Cookie, um den gleichen Effekt wieder zu erhalten.

Verwandte Themen