Chris: also nochmal Reload ;-)

Hallo,

habe ein kleines Forum mit FP2000 und dessen FP-Komponente "Diskussion" gebastelt.

Dieses Forum - die index.htm - besteht aus einem bzw. zwei Frameset(s). Die Framesets sind wie folgt angeordnet (Dateinamen geändert):

<FRAMESET rows="11%,89%" framespacing="0" border="0" frameborder="0">
  <frameset cols="25%,75%">
  <FRAME SRC="leerer Frame.htm" NAME="Banner1" SCROLLING="no">
    <frame name="Banner2" src="navigation.htm" scrolling="no">
  </frameset>
  <FRAMESET cols="25%,75%">
    <FRAME SRC="Inhaltsverzeichnis.htm" NAME="Inhalt" target="Beitrag" scrolling="auto">
    <FRAME SRC="Hauptframe für Inhalt.htm" NAME="Beitrag" scrolling="auto">
  </FRAMESET>

Nach Absenden eines Beitrages, wird im Hauptframe für den Inhalt (Frame-Name = "Beitrag") eine Bestätigungsseite mit folgendem Text angezeigt:
"Der Beitrag Forum  abgeschickt.
Wenn die Hauptseite aktualisiert wird, sollte der neuer Beitrag in der Liste erscheinen."
'die Hauptseite aktualisiert wird' ist darüber hinaus ein Link, der die index.htm neu aufruft.

Nun dachte ich eigentlich, daß beim Neu-Aufruf der index.htm auch gleichzeitig das Inhaltsverzeichnis um den Betreff des neuen Beitrags aktualisiert wird, was aber nicht der Fall ist.

Ich haben nun schon alles mögliche versucht, um eine Aktualisierung des Inhaltsverzeichnisses zu realisieren. Leider sind mir bisher als einzige Lösungen nur folgende geblieben: entweder den "Aktualisieren-Button" des Browsers betätigen oder einen "Refresh" alle 10 Sek. (oder wieviel auch immer) in die Inhaltsseite einbauen. Beide Lösungen gefallen mir gar nicht!
Selbst wenn z.B. der IE ganz neu geöffnet wird und das Forum gerade erst aufgerufen wird, werden NICHT die neusten Beiträge im Inhalt angezeigt. Auch dann muß erst mal aktualisiert werden, um diese anzeigen zu lassen.

Ich dachte eigentlich, daß man mit Javascript beim Klick auf "die hauptseite aktualisiert wird" etwas machen kann. Aber entweder hab ich was falsch gemacht oder es hat tatsächlich nicht funktioniert. Auch einen "Reload"-Link auf der Inhaltsseite wollte nicht greifen.

Hängt das Ganze ggf. mit der FP-Komponente für Diskussionen zusammen und es gibt gar keine andere Lösung(en) als die beiden oben beschriebenen?

Vielleicht weiß von Euch jemand einen Rat? I hope so...

Viele Grüße
Chris

PS: Danke Bio für die Ermunterung! :-)
Hoffentlich versteht einer, was ich will ;-)

  1. Nachtrag:

    Dieses Forum ist nur ein Teil eines Gesamtangebotes und steht selbst auch nochmal im Hauptframe eines anderen Framesets.

  2. Hi Chris,

    imho besteht Dein Problem darin, dass auch bei Reload die Dateien Deines Framesets aus dem Browser-Cache angezeigt werden. Einfacher Test, ob das so ist: Setze in den Head jeder Datei ein

    <meta http-equiv="expires" content="0">

    Das erzwingt, dass die Datei nicht aus dem Cache geladen wird, Veränderungen also zu sehen sein müssten.

    Wenn das nicht funzt, bitte nochmal posten.

    Grüße,

    Utz

    1. Hi Utz,

      ich habe ein <meta http-equiv="expires" content="0"> in die m.E. relevanten Dateien gesetzt - also in die inhalt.htm und die Datei, die die Daten in die inhalt.htm einpflegt (=eingeschlossene Seite in der inhalt.htm). In der index.htm hab ich die Meta-Angabe auch drin...

      Wenn Du der Ansicht bist, daß die Meta-Angabe auch noch in anderen Dateien aus den o.g. relevanten Dateien angegeben sein sollte, bitte kurze Info, dann teste ich das noch, aber ich denke fast eher, daß das Problem woanders liegt...?.

      1. Hi Chris,

        also wenn's das nicht war und die Vorschläge von Thilo weiter oben auch nicht tun, bin ich ratlos - evtl. ist auch einfach das Skript, dass das Forum steuert, zu langsam. Hast Du mal probiert, einfach ne halbe Minute zu warten, ob's dann vielleicht geht? Kann zwar nicht die Lösung sein, aber dann wüsste man immerhin wo's klemmt.

        Grüße,

        Utz

  3. Moin chris,

    ja, mit Javascript gibt es eine sehr "elegante" Möglichkeit!

    1. Nur das Frame Beitrag aktualisieren

    <a href="javascript:parent.Beitrag.location.reload()">Aktualisieren</a>

    2. Alle Frames aktualisieren

    <a href="javascript:window.location.reload()">Aktualisieren</a>

    3. (Meta-Angabe) Wenn die Seite aufgrufen wird aktualisiert sie sich automatisch, weil sie nicht im Chace gespeichert ist

    <meta http-equiv="cache-control" content="no-cache">

    Du kannst natürlich auch beides Verwenden!

    Thilo

    1. Oops,

      auch mir geschiet mal ein Fehler :-(

      <meta http-equiv="cache-control" content="no-cache">

      Ist dafür da die Datei nicht auf einem Proxy-Server zwischen zu speichern. Reichtig heiß es
      <meta http-equiv="expires" content="0">
      aber da konntest Du ja schon bei Utz lesen!

      Thilo

    2. DANKEEEEEEE!!!!! :-)))))

      Es funktioniert! window.location.reload funktioniert! Ich hatte es vorher immer mit parent.location oder der meta-angaben versucht und das hat alles nicht gefunkt.

      Nochmals viiiieeeelen Dank!!! :-)

      1. Geht doch... und eigentlich bedeutet NT "no text".

        Bio

        1. Danke nochmal für's Mut machen! :-))

          Viele Grüße
          Chris

          PS: Ich nehme an, Du gehörst zum Forum - oder wie gelingt es Dir, den Betreff innerhalt eines Thread's zu ändern?

          1. PS: Ich nehme an, Du gehörst zum Forum - oder wie gelingt es Dir, den Betreff innerhalt eines Thread's zu ändern?

            Also, offiziell gehöre ich nicht zum Forum. Ich bin kein Moderator und habe keine besondere 'Macht'. Aber die kleinen Tricks kenne ich natürlich.

            Das mit dem Titel ändern kann allerdings jeder können... es steht in den FAQ (!)

            http://www.teamone.de/selfaktuell/forum/forumsfaq_2.htm#a7

            Im Prinzip sollte ich jetzt die Welle machen und mich ein Stück aufregen, daß Du das Forum mit dieser Standardfrage belastest, und einige Message-Grafiken und flapsige Sprüche bemühen, um Dich gehörig zurechtzuweisen.
            Aber weil heute mein sozialer Tag ist, und ich ja schlecht Leuten erst Mut und sie dann niedermachen kann, und Du ja schon eine intelligente Frage gestellt hast heute, laß ich das mal stecken und wünsche weiterhin viel Spaß hier im Forum.

            :-)

            Bio

    3. hm... doch noch etwas zu früh gefreut...

      wenn ich also nun auf den Link "Hauptseite aktualisieren" klicke, der ja auf der Bestätigungsseite steht, wird nun zwar schön der Inhalt aktualisiert, wie ich es gerne hätte, jedoch wird dieser nicht aktuell angezeigt, wenn ich das Forum ganz frisch öffne :-(

      Konkretes Beispiel:

      Im Gesamtangebot ist ein Link "Freizeit", der zu diesem o.g. "Freizeit"-Forum linkt. Sobald ich nun also auf "Freizeit" klicke, wird zwar das Forum aufgerufen, jedoch wird das Inhaltsverzeichnis nicht aktuell angezeigt, obwohl in jeder Seite die folgenden beiden meta-Angaben stehen:

      <meta http-equiv="expires" content="0">
      <meta http-equiv="pragma" content="no-cache">

      Vielleicht weiß hierzu auch noch jemand einen Rat???

      1. Speichere irgendwo (Im Fensternamen oder so) eine Variable.

        Beim Laden der Forumsseite (onLoad="prüffunktion") wird diese geprüft. Ist sie noch nicht gesetzt, dann wurde die Seite ganz neu geladen. Dann die refresh-funktioin abfahren und diese Variable/den Fensternamen setzen. Bei jedem weiteren Laden wir dann die Funktion nicht mehr ausgeführt, weil die Variable/der Fenstername jetzt stimmt, sonst kämst Du noch in eine Endlosschleife.

        Ich hoffe, das war jetzt konstruktiv und brauchbar,

        Bio