Meta-Refreshproblem mit Frames

Status
Nicht offen für weitere Antworten.

scanline

Erfahrenes Mitglied
Wer kann mir sagen wie man aus einem Frame heraus per <meta http-equiv='refresh' content='0;url=www.meineseite.de'> den _Parent-Frame refreshen kann??? Hab hier keine antworten gefunden.
Gruß
Micha
 
Meines erachtens garnicht, zumindest nicht über den Meta, würde höchstens über JavaScript gehen....

Warum willst Du sowas machen?
Erklärs genau...
 
ach, ist Teil eines umfangreichen php-gestützten CMS-Systems im Frameset, würde diesen Rahmen sprengen, jedenfalls soll nach dem Ausloggen der Parent-Frame durch eine einfache (non-Frame) Seite ersetzt werden, sonst nix. Ist dennoch wichtig, da das dyn. Menue des CMS in einem anderen Frame als der Content refreshed wird, und zwar autom., d.h. ohme Mouse-Event, z.B. nach update eines Datensatzes! Geht es nicht, muss ich die grundsätzliche Struktur der Seite neu überdenken bzw. übern Haufen schmeißen!

Gruß
Micha
 
Versuchs mit:

OnUnload="location.href="ZIEL"...

oder über:

OnBlur="location.href="ZIEL"...


Ob's ne elegante PHP Lösung gibt weiß ich nicht, weil bin kein PHPler kann nur einwenig JavaScript....


Inwieweit und wo Du das einsetzen kannst musst Du dich mal schlau machen...

:suchen: oder auf weiter Posting warten...

[edit]

evtl. könntest du auch über den Frame mit der dynamischen Navigationn ein Variable (ähnliches) übergeben, der den Wechsel realisiert....

[/edit]
 
Zuletzt bearbeitet:
Was du mit den meta-Tags dort richten willst, ist in meinen Augen Unsinn, aber jedenfalls gibt es afaik zweierlei Möglichkeiten:

1)
Du kennst die Adresse des Frames, den du refreshen lassen willst und kannst einfach per
PHP:
parent.location = "seite.html";
bzw.
PHP:
parent.location.href = "seite.html";
dürfte beides das gleiche sein.

Damit würdest du die Seite einfach neu laden; wenn die Seite nicht der parent-Seite entspricht, dann musst du über die Array-Schreibweise deinen gewünschten Frame referenzieren, wie das geht erfährst du in SelfHTMl, bzw. hier, wenn du mir/uns den genauen Frame-Aufbau deines Dokumentes erkären kannst.

2)
Du kennst die Adresse des Frames, den du refreshen lassen willst nicht und kannst dann per reload()-Methode des location-Objektes eine gewünschte Seite neu laden lassen:
PHP:
parent.location.reload();
und auch hier sollte der Versuch klappen, einen Refresh eines Frames erfolgen zu lassen...

Bei beiden Varianten ist es aber noch fraglich, inwiefern du diese aufrufen willst, denn dafür benötigt es einen EventHandler.

Webcutdirector hat schon einen genannt, nämlich den onUnload-Handler des <body>-Tags, der dann reagiert, wenn das jeweilige Dokument geschlossen wird, also entweder das Fenster geschlossen wird oder auf eine neue Seite navigiert wird.

Dafür sähe das ganze so aus:

Mit Variante 1:
PHP:
<body onUnload="parent.location = 'seite.html';">
und mit Variante 2:
PHP:
<body onUnload="parent.location.reload();">
Ob das aber deinen Wünschen entspricht, musst du uns mal wissen lassen, dann können wir auch noch nach weiteren Handlern suchen, die vielleicht für deine Bedürfnisse geeigneter sind. :)

Denn unter "Ausloggen" kann ich mir nicht vorstellen, wie das Ausloggen bei dir abläuft, welche Auswirkungen das auf andere Frames hat etc - so dass vielleicht eine JavaScript-Lösung in Betracht käme - denn du meintest ja, dass dir ein automatisches Update lieb wäre...

hth,
Geist
 
Zuletzt bearbeitet:
Versuchs mal damit, wobei dieses Script in den Frame muss, der automatisch aktualisiert wird und test.htm durch deine Seite für den Inhaltsframe ersetzt werden muss, ebenso der Name : " wechsel ".....

Code:
<body onunload="laden();">
<script type="text/javascript" language="JavaScript">
<!--
function laden ()
{
parent.wechsel.focus();
parent.wechsel.location.href="test.htm"
}
//-->
</script>

[edit]

Unser guter Geist war wieder schneller *smile*

[/edit]
 
Moin Moin,
@Geist:
Vielen Dank für die ausführliche Antwort erstmal.
Leider funktioniert keiner der Varianten :-(
Vileicht nochmal kurz zum Script:

die Logout-Datei:
----------------------------------------------------------------
<?
...
session_unset();
...(den User ausloggen)
<body ... onUnload='ÖffneNeueSeiteImParentFrame'>
?>
----------------------------------------------------------------


Das Frameset
----------------------------------------------------------------
<frameset cols='*,776,*'...>
<frame name='BLANK_LINKS' src='blank.php'...>
<frameset rows='62,*,50'...>
<frame name='HEADER' src='(HeaderDatei)...>
<frame name='CONTENT' src='(LogoutDatei)'...>
<frame name='FOOTER' src='(FooterDatei)'...>
</frameset>
<frame name='BLANK_RECHTS' src='blank.php'...>
</frameset>
----------------------------------------------------------------

So, von der Logout-Datei im CONTENT-Frame aus soll das gesamte Frameset (_PARENT) ohne Mausereignis refreshed, an anderer Stelle auch mal durch eine einfache html-Datei ersetzt werden, sonst nix.


@Webcutdirector
leider unktioniert auch Deine Lösung nicht.

Gruß
Micha
 
Hmn,den Fehler machen in letzter Zeit viele.
Du kannst HTML Code nicht einfach in eine PHP Anweisung schreiben ohne dem PHP Parser mitzuteilen was damit geschehen soll.
In diesem Fall wäre also echo() die benötigte Funktion.

echo "<body ... onUnload=\"ÖffneNeueSeiteImParentFrame\">";
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück