WinFuture-Forum.de: Frameset Reloaden / Refreshen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Frameset Reloaden / Refreshen


#1 Mitglied ist offline   Mr_Maniac 

  • Gruppe: aktive Mitglieder
  • Beiträge: 770
  • Beigetreten: 29. Juli 02
  • Reputation: 1
  • Geschlecht:Männlich
  • Interessen:Vieles rund um den Computer
    Musik

geschrieben 07. November 2004 - 19:51

Abend!

Ich habe heute auf meiner Seite eine Art "Skin-Chooser" eingebaut.
Dieser schreibt den Pfad zu einem Style sheet in ein Cookie und eben dieser Cookie wird von einer Datei, in der der "HTML-Kopf" zusammengestellt wird, ausgelesen.

Soweit funktioniert auch alles tadellos.

Nun zu meinem Anliegen:

Meine Seite besteht aus einem Frameset, dass vier Frames enthält.
Links ist die Navigations-Leiste, in der sich auch das Pulldown-Menu zur Skinwahl befindet.
Wenn man auf den daneben befindlichen "Go"-Knopf drückt, wird per Form-POST-Methode der Pfad zur CSS-Datei an ein Script übermittelt, dass dann den Cookie setzt.
Dieses Script lädt den Frame, in dem es gestartet wurde mit
<meta http-equiv="refresh" content="2; url=$url">

neu.
In diesem Frame wird somit die neu gewählte CSS-Datei angewendet...
Nun muss der user aber noch die gesammte Seite neu laden, damit ALLE Frames aktualisiert werden...

Kann ich das nicht auch automatisch erledigen lassen?
Und das ganze am besten noch ohne JavaScript?
0

Anzeige



#2 _Benjamin_

  • Gruppe: Gäste

geschrieben 08. November 2004 - 12:22

du hast doch die seite in der du deine framseite erstellst ? also die index ... in der machst du auch noch ma den meta tag rein, damit er alle frames reloaded ...
0

#3 Mitglied ist offline   Mr_Maniac 

  • Gruppe: aktive Mitglieder
  • Beiträge: 770
  • Beigetreten: 29. Juli 02
  • Reputation: 1
  • Geschlecht:Männlich
  • Interessen:Vieles rund um den Computer
    Musik

geschrieben 08. November 2004 - 12:32

Das dumme ist dann nur, dass er das
1. Nicht auf Kommando macht...
und
2. Dass er das alle soundsoviel Sekunden macht...

Oder irre ich mich da?

Nun ja... Scheint so, als könne man das ohne JavaScript nur schwer / gar nicht lösen :smokin:
0

#4 Mitglied ist offline   Dimension 

  • Gruppe: aktive Mitglieder
  • Beiträge: 774
  • Beigetreten: 17. November 03
  • Reputation: 0

geschrieben 08. November 2004 - 12:53

Für clientseitige Aktionen (wie das Refreshen der Frames) auf Kommando gehen nicht ohne Scripts ... du kannst dich aber auf ein Minimum beschränken :smokin:

In den neu zu ladenden Seiten:
<script>
function do_reload()
{ 
    self.location.reload(); 
}
</script>


Im Hauptframe:
if( $skin_changed )
{
    echo( "<script>" );
    echo( "self.parent.Frame1.do_reload();" );
    echo( "self.parent.Frame2.do_reload();" );
    echo( "</script>" );
}

Dieser Beitrag wurde von Dimension bearbeitet: 08. November 2004 - 12:54

0

#5 Mitglied ist offline   Mr_Maniac 

  • Gruppe: aktive Mitglieder
  • Beiträge: 770
  • Beigetreten: 29. Juli 02
  • Reputation: 1
  • Geschlecht:Männlich
  • Interessen:Vieles rund um den Computer
    Musik

geschrieben 08. November 2004 - 13:39

Okay... Ich habe das
<meta http-equiv="refresh" content="2; url=$url">


nun komplett entfernt (war eh an der falschen stelle) und stattdessen JavaScript verwendet.
Allerdings habe ich noch einen "<noscript>" Bereich drinnen, der dem user verrät. was er machen muss, damit alles funktioniert :smokin:

Funktioniert einwandfrei!

Für neugierige:

  echo "Style gesetzt!<BR>";
  echo "<script type=\"text/javascript\">
          parent.frame1.location.reload();
          parent.frame2.location.reload();
          parent.HAUPT.location.reload();
          setTimeout(\"parent.frame3.location.href = 'frame3.php'\", 2000);
        </script>
        <noscript>
          Bitte laden sie die Seite neu.<br><br>
        </noscript>";
  echo "<br>Sie werden in 2 Sekunden weitergeleitet.<br>";

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0