Browser zum refresh zwingen??? wie machen?

Dieses Thema im Forum "Web-Know-how für die Homepage" wurde erstellt von scwd, 21. März 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. scwd

    scwd Byte

    Registriert seit:
    2. September 2003
    Beiträge:
    110
    Moin,

    ich hab jetzt schon mehrfach gemerkt, dass ich Änderungen an meiner Homepage erst nach einem refresh (F5) sehen kann.

    Wenn das bei meinen Besuchern auch der Falll ist, ist das natürlich blöd.

    Kann man ein Scirpt oder sowas schreiben, das den Browser automatisch dazu zwingt???

    Wäre für Tipps sehr dankbar!

    Scwd
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.472
    Du kannst nicht beeinflussen, ob der UA eine Seite neu läd oder nicht, da du keinen Zugriff auf die Cacheverwaltung des UA hast. Bei einem normalen Browser kannst du das von Papst-Verehrer versuchen, allerdings spätestens wenn ein Proxy irgendwo in der Leitung steckt ist meist Schluß. Vor einiger Zeit habe ich hier einen Würgaround zum Thema gepostet - musst mal suchen...

    Gruss, Matthias
     
  3. Hertener

    Hertener Kbyte

    Registriert seit:
    7. November 2002
    Beiträge:
    407
    Eigentlich befindet sich Dein Posting in der falschen Rubrik. ;)
    Aber da ich es nun schon einmal gelesen habe, möchte ich Dir eine Antwort nicht vorenthalten.
    Füge Deinen Meta-Tags folgenden Eintrag hinzu:

    Code:
    [SIZE=1]
    <meta http-equiv="refresh" content="5; URL=http://www.meine-domain.de/seite.htm">
    [/SIZE]
    Unter "content" kannst Du den Zeitraum bis zur nächsten Aktualisierung festlegen. Die Angaben werden dabei in Sekunden gemacht. Unter URL trägst Du die Adresse der Seite ein.

    Wähle den Abstand zwischen zwei Aktualisierungen nicht zu klein. Häufiges reloaden nervt den Besucher und verursacht unnötigen Traffic. ;)

    Gruß

    Dominik
     
  4. Univacs

    Univacs Kbyte

    Registriert seit:
    4. Juli 2002
    Beiträge:
    147
    > Wie genau muss dann der js Code heissen?

    Hm, KarlHeinz? Oder was ist Dir nicht klar?

    > Und WO muss ich den einbauen?
    Muss der dann auch jeweils an jede Seite angehängt werden?

    Wie oben bereits beschrieben als Link, für einen Autorefresh sähe der Code so aus:

    <script type="text/javascript" language="JavaScript">
    var url = "seite.html?token=" + new Date().getTime();
    document.writeln("<meta http-equiv=\"refresh\" content=\"5; URL=" + url + "\">");
    </script>

    Lädt alle 5 Sekunden eine Seite neu; Codeschnippsel in den HTML-Header plazieren.

    Ansonsten lies bitte dringend http://selfhtml.teamone.de/ und http://www.dcljs.de/.

    > Wieso 1970?

    Weil es irgendwann mal so festgelegt wurde.
     
  5. scwd

    scwd Byte

    Registriert seit:
    2. September 2003
    Beiträge:
    110
    Moin,

    aha - ok!

    Wie genau muss dann der js Code heissen? Und WO muss ich den einbauen?
    Muss der dann auch jeweils an jede Seite angehängt werden?

    Wieso 1970?

    scwd
     
  6. Univacs

    Univacs Kbyte

    Registriert seit:
    4. Juli 2002
    Beiträge:
    147
    Ganz einfach, der JavaScript-Befehl

    new Date().getTime()

    gibt Dir die Zeit in Millisekunden seit den 1.1.1970 aus. Diese hängst Du als Parameter an den URL. Als Ergebnis kommt heraus

    seite.html?token=1079970591769

    einige Zeit später

    seite.html?token=1079970824566

    noch später

    seit.html?token=1079970915488

    Das ist für den Browser jedesmals ein neuer URL und zwingt ihn, die Seite frisch und nicht aus dem Cache zu laden.
     
  7. scwd

    scwd Byte

    Registriert seit:
    2. September 2003
    Beiträge:
    110
    Moin,

    also sorry, aber irgendwie blick ich nicht durch, was du mir heirmit sagen willst,,,,

    AN den Url? Parameter? was für eins?

    seit den 1.1.1970???

    Versteh ich nicht so richtig...

    scwd
     
  8. Univacs

    Univacs Kbyte

    Registriert seit:
    4. Juli 2002
    Beiträge:
    147
    > Irgendeine andere Idee, wie ich bewerkstelligen kann, dass die Seite beim Aufrufen neu geaden wird?

    Häng an den URL einen Parameter dran, als Parameter übergibst Du per JavaScript die Zeit in Millisekunden seit den 1.1.1970, also:


    function bla()
    {
    location.href = "seite.html?token=" + new Date().getTime();
    }

    ...

    <a href="seite.html" onclick="bla(); return false">hier klicken</a>

    Damit sollte man jeden Browser mit eingeschaltetem JavaScript übereden können, die Seite neu zu laden.


    HTH
     
  9. Hertener

    Hertener Kbyte

    Registriert seit:
    7. November 2002
    Beiträge:
    407
    Genau so ist das.

    Nein. Im Grunde bleibt die Aktualisierung einer aufgerufenen Seite dem Besucher überlassen.
    Dazu einmal die Einstellungsmöglichkeiten aus den Internetoptionen des Internet Explorers:

    Gruß

    Dominik
     
  10. Wingnut2

    Wingnut2 Viertel Gigabyte

    Registriert seit:
    12. Mai 2002
    Beiträge:
    2.660
    es reicht ja die verschiebung um eine Ebene innerhalb des webspaces.
     
  11. scwd

    scwd Byte

    Registriert seit:
    2. September 2003
    Beiträge:
    110
    bist wohl ein ganz lustiger.. ? :D :aua: lol
     
  12. Wingnut2

    Wingnut2 Viertel Gigabyte

    Registriert seit:
    12. Mai 2002
    Beiträge:
    2.660
    du könntest die seite zum beispiel jeden tag auf nen anderen webspace stellen :D
    Die topleveldomain muss natürlich dann auch dahin zeigen.

    Dann denkt der browser vielleicht es wäre eine andere seite ;)
     
  13. scwd

    scwd Byte

    Registriert seit:
    2. September 2003
    Beiträge:
    110
    Moin,

    das ist ja auch eigentlich logisch.

    Wenn man jetzt eine Seite aufruft und dort vom Betreiber Änderungen vorgenommen wurden... man hat diese Seite schon in seinem Cache - dann sieht man ja diese Änderungen nicht, richtig?

    Irgendeine andere Idee, wie ich bewerkstelligen kann, dass die Seite beim Aufrufen neu geaden wird?

    scwd
     
  14. Wingnut2

    Wingnut2 Viertel Gigabyte

    Registriert seit:
    12. Mai 2002
    Beiträge:
    2.660
    ich denke nicht, dass der code was bringt...

    bei opera und mozilla kann man jedenfalls einstellen, woher eine bereits bekannte seite geladen wird - cache oder neu ausm netz.
    Bei opera ist mir das extrem aufgefallen, da ich bei Ebay plötzlich noch auktionen auf der liste hatte, die längst abgelaufen waren. Vorteil hierbei ist halt, dass die Seiten wesentlich schneller geladen werden - quasi sofort.
     
  15. scwd

    scwd Byte

    Registriert seit:
    2. September 2003
    Beiträge:
    110
    Moin,

    @Wingnut2: und was passiert dann, wenn der Browser keinen Cache nutzt, sondern es von der Seite laden soll?

    Dann holt er es doch aus dem Cache, und der Code bringt quasi nichts???

    scwd
     
  16. Wingnut2

    Wingnut2 Viertel Gigabyte

    Registriert seit:
    12. Mai 2002
    Beiträge:
    2.660
    wenn der user aber in den Browsereinstellungen das anders festlegt, wird die seite nicht neu geladen, sondern aus dem cache gefischt ;)
     
  17. Hertener

    Hertener Kbyte

    Registriert seit:
    7. November 2002
    Beiträge:
    407
    Wie der Matthias es schon richtig formuliert hat, kannst Du auf die Cache-Verwaltung des User Agent keinen Einfluß nehmen.

    Eventuell kann Dir folgender Code ein wenig weiterhelfen:
    Code:
    [SIZE=1]
    <meta http-equiv="cache-control" content="no-cache">[/SIZE]
    Laut SELFHTML
    ist es die "Anweisung an den Browser: keinen Cache benutzen, sondern von Originalseite laden."

    Gruß

    Dominik
     
  18. Hertener

    Hertener Kbyte

    Registriert seit:
    7. November 2002
    Beiträge:
    407
    Ja! :)

    Die ideale Aktualisierungszeit ist abhängig von der Zeit, in der sich der Inhalt ändert. Wenn Du z.B. alle 5 Minuten ein neues Bild Deiner WebCam hochlädst, dann ist die ideale Aktualisierungszeit 5 Minuten! ;)

    PS: Noch einmal wegen des verschobenen Threads: Was Du erfragt hast ist vom Themenschwerpunkt her nicht in der Rubrik "Browser" einzuordnen. Andernfalls hättest Du auch unter "Windows" oder "Linux" posten können, je nachdem welches Betriebssystem Du installiert hast! ;)
     
  19. scwd

    scwd Byte

    Registriert seit:
    2. September 2003
    Beiträge:
    110
    Moin nochma,

    und wie macht man es, dass die Seite beispielsweise nur einmal beim Aufrufen refreht wird?

    scwd
     
  20. scwd

    scwd Byte

    Registriert seit:
    2. September 2003
    Beiträge:
    110
    Moin,

    danke erstmal.. diesen Code muss ich dann in jede Seite einzeln einbauen, richtig?

    Was wäre denn beispielsweise eine geeignete Aktualisierungszeit???

    @ whisky: Aber wenn es sich doch um eine Frage bezüglich des Browsers handelt..? Naja. Egal, hier passta ja auch...

    scwd
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen