• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frame reload mithilfe Javascript?

L

laberschwall

Guest
Hallo,

ich habe ein Frameset mit top,middle und bottom frames. Alle Frames haben einen Namen.
Nun möchte ich, das beim Laden einer bestimmten Seite im Middle Bereich der untere Frame aktualisiert wird.
Ich habe hierzu einige Java Beispiele ergoogelt komme aber nicht damit klar.

Meine Vermutungen:
die Seite, die neu laden soll enthält im head:
HTML:
<head>
<script type="text/javascript">
<!--
function test() 
{
  parent.frames[BOTTOMFRAMENAME].window.location.reload();
}
//-->
</script>

und im body:
HTML:
<body onload="javascript: test();">

Kann das so funktionieren, wo fehlts?
 
Zuletzt bearbeitet von einem Moderator:
Meine Vermutungen:
die Seite, die neu laden soll enthält im head:

Warum Vermutung?

Ändere es doch, wenn es so sein sollte. Du musst nur auf der Seite die angezeigt werden soll, das Javascript rausnehmen.
 
Ok, anders dargestellt:

HTML:
<head>
<script type="text/javascript">
<!--
function test() 
{
document.write("Schritt 3");
parent.frames["FOOTER"].window.location.reload(true);
document.write("Schritt 4");
}
//-->
</script>
</head>
<body onload="javascript: void test();">
</body>
</html>
Dies soll eine Seite darstellen, die einen anderen Frame zum reload zwingen soll wenn sie selbst geladen wird.
Schritt 3 wird noch ausgegeben.
Ich habe den "Footer" schon ohne Anführungszeichen und mit ' ausprobiert ohne Erfolg.
auch ein "document.getElementById(FOOTER).contentDocument.location.reload(true);" geht nicht durch.
Wie würdet ihr das machen?
 
Dies soll eine Seite darstellen, die einen anderen Frame zum reload zwingen soll wenn sie selbst geladen wird.

Das geht nicht. Ist nicht erlaubt. Lese dazu Same-Origin-Policy

Wie würdet ihr das machen?
Ich würde das so gar nicht machen, denn Frames sind nicht mehr Standard in HTML.
Erstelle normale Webseiten und nutze die Elemente die erlaubt sind:HTML elements - HTML5

Das Einfügen andere Inhalte würde ich dann mit PHP lösen.
 
Hallo,

Als Herkunft wird dabei die Kombination aus Protokoll (zum Beispiel http oder https), Domain und Port in der URL definiert. Nur wenn alle drei gleich sind, gilt die SOP als erfüllt und der Skript-Zugriff ist möglich.

Wird bei mir erfüllt, alle frames liegen auf demselben Server.
Merkwürdigerweise geht es auch, aber anscheinend nur auf einem Rechner. Browserunabhängig (Chrome, Firefox, IE)
Also auf einem Rechner geht es auf dem nächsten nicht. (gleiche Browser überall)
 
IE6 ist offiziell sogar von Microsoft abgehakt, warum musst du den unterstützen, der ist auch im wahren Leben nicht mehr wirklich existent. Und der kann auch ohne Frames leben, der kann sogar mit dem neuen HTML5 doctype etwas anfangen und CSS2.1 beherrscht er auch ziemlich gut.

Für Frames gibt es keine Ausrede und keine Entschuldigung. Sie sind seit html4 eigentlich schon tot und das war 1997!
 
Die eigentlich Ausrede ist, das Frames statisch bleiben ohne einen Reload.
Ich habe ein Flash das z.B. langsam von 0 auf unendlich zählt und das soll nicht unterbrochen werden wenn die Hauptseite anderen Inhalt anzeigt und benutzt wird.
Wenn du mir einen Ersatz für die Frames sagen kannst, dann kann ich mich vielleicht dazu entschliessen einen anderen Weg zu gehen.
Das Flash darf nicht mit einem neuen Seitenaufbau erneut von 0 zählen.
 
Wenn du etwas in Richtung Spiel machst, kann ich das verstehen, was du da anstellst, sonst habe ich dafür keinen Sinn.
 
Also gibt es keinen Ersatz?
Kein Spiel, ein Flash das fortlaufend funktionieren soll.
 
Ich verstehe nicht was das soll mit dem Flash und verstehe auch nicht was du da vorhast. Du musst das nicht erklären wenn du nicht willst. Aber wenn es nicht auch anders ginge hätte man Frames bestimmt nicht den Garaus gemacht.

Es gibt da iframes und auch Ajax. Mit Ajax kannst du Inhalte dynamisch nachladen.
 
Zurück
Oben