PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Iframes mal anders, wenn es geht...



Master of Games
03.09.2006, 16:11
Hi erstmal (hätte nich gedacht, dass es den Account noch gibt ^^)

Vorneweg möchte ich nich über die (Un)Schönheiten von Iframes oder das Abspielen von Hintergrundmusik diskutieren. In diesem Fall besteht der Kunde darauf.

Es geht um Framenavigation. Gegeben sei eine unauffällige Seite mit ausschließlich 2 Iframes, nennen wir sie iframe1 und iframe2.
In iframe2 ist der wesentliche Inhalt der seite, man kann diverse andere Seiten darin aufrufen und Einstellngen verändern, die in einer Datenbank gespeichert werden.

Nun kommt das Problem: Im iframe2 läuft immer eine php-datei mit, die überprüft, ob ein bestimmtes Feld in der Tabelle geändert wurde. Wenn dies der Fall ist soll folgendes passieren (beide Möglichkeiten wären mir recht, keine Ahnung, ob auch beide gehen):

a) die unauffällige Seite mit ausschließlich 2 Iframes soll aktualisiert werden
b) iframe1 soll aktualisiert, bzw. neu aufgerufen werden

An sich keine große Sache, in diesem Fall möchte ich aber auf den Gebrauch von javaScript verzichten, was das ganze etwas schwerer machen würde.
Ich hab ehrlichgesagt keine Idee, wie ich das machen sollte. Wenn hier jemand eine Idee hätte, wär ich verdammt dankbar, wenn er es mich wissen lääst :D


MfG MoG (omg, dieser alte Forennick, süß ^^)

Manni
03.09.2006, 16:36
Ohne Javascript bzw eine Aktion des Benutzers (Klick auf einen Link) kannst du afaik den
Inhalt eines (I)frames nicht ändern.


Nun kommt das Problem: Im iframe2 läuft immer eine php-datei mit, die überprüft, ob ein bestimmtes Feld in der Tabelle geändert wurde. Wenn dies der Fall ist soll folgendes passieren (beide Möglichkeiten wären mir recht, keine Ahnung, ob auch beide gehen):


Was meinst du mit "läuft eine PHP Datei mit"? Ruft die Datei sich ständig selbst mit einem meta-refresh auf?

Falls du doch Javascript benutzen willst, versuch folgenden Code:

parent.frames['iframe2'].location.reload()

Master of Games
03.09.2006, 16:53
Ah, die Antworten kommen so schnell wie damals, sehr gut ^^

Was meinst du mit "läuft eine PHP Datei mit"? Ruft die Datei sich ständig selbst mit einem meta-refresh auf?


Mmh, gehe ich mal ins Detail. Ich programmiere ein Online-RPG für eine andere Forensoftware. In meinem Fall bewegt man sich über den Aufruf von Links über eine virtuelle Karte. Bei jeder Bewegung überprüft die php-datei (cg_move.php), ob man eine andere Zonen-ID betritt. Wenn ja, sollte frame1 aktualisiert werden.

klar, mit header("Location: ...") kann man kein target angeben, hatte gehofft, eine Möglichkeit über Funktionen zu finden, vielleicht hat ja noch jemand eine Idee


bzw eine Aktion des Benutzers (Klick auf einen Link)
Wäre es nicht möglich, diesen Klick zu simulieren? Im phpBB hab ich eine ähnliche Funktion mal gefunden, werd sie nachher mal posten


Falls du doch Javascript benutzen willst...
Mmh, ich versuche diese Fassung des RPGs möglichst JS-frei zu halten. Das System ist absolute Handarbeit und gibt es momentan nur in einem PHP-Modus, später werde ich auch eines auf JS-Basis erstellen.

Hilfe ;_;


MfG MoG

mitaki
03.09.2006, 17:55
Mmh, gehe ich mal ins Detail. Ich programmiere ein Online-RPG für eine andere Forensoftware. In meinem Fall bewegt man sich über den Aufruf von Links über eine virtuelle Karte. Bei jeder Bewegung überprüft die php-datei (cg_move.php), ob man eine andere Zonen-ID betritt. Wenn ja, sollte frame1 aktualisiert werden.
Die Sinnvollste Lösung wäre imho, wenn du in Frame Zwei einfach einen Verweis anzeigst, der besagt, dass neue Zielverweise vorliegen. Per Klick kannst du dann Frame Eins aktualisieren lassen.


Mmh, ich versuche diese Fassung des RPGs möglichst JS-frei zu halten. Das System ist absolute Handarbeit und gibt es momentan nur in einem PHP-Modus, später werde ich auch eines auf JS-Basis erstellen.
Ich finde das etwas widersprüchlich, PHP und JS sind ja keine Alternativen zueinander, sondern Ergänzungen in einem jeweils anderen Bereich.
Wenn das ganze ohnehin auf einer aktuellen Forensoftware aufbauen soll, kannst du zwar davon ausgehen, dass JS beim großteil aktiviert ist. Um eine Verweisalternative für Benutzer mit deaktiviertem Javascript wirst du aber nicht herumkommen können.

Master of Games
03.09.2006, 18:03
Sicher, PHP und JS bilden miteinander ein gutes Team, aber wie du schon sagtest, müsste ich mit Leuten erchnen, die JS deaktiviert haben. Daher wollte ich das Ganze schlicht in PHP lassen, um es garnicht erst zu einem solchen "wenn" kommen zu lassen.

Jedesmal, wenn man eine andere Zone betritt soll also ein Textlink kommen à la "Du betrittst eine neue Zone, mit anderer Hintergrundmusik *klick*"

Eigentlich keine schlechte Idee, werd ich dann wohl als Alternative einbauen, danke ;)


MfG MoG