Function soll bei framereload ausgeführt werden.
Andi
- javascript
Hallo,
Ich komm einfach nicht mehr weiter.
Ich habe einen Frame1 und Frame2. Im Frame1 soll mir eine function sagen wenn man im Frame2 auf einen Link clickt und eine neue Seite eingeblendet wird.
gibts da etwas in Javascript das mir sagt wenn ein Frame neu geladen wird?
Ich habs mit onload Probiert ging aber nicht.
<frame name="Frame1">
<frame name="Frame2" onload="parent.Frame1.loadFrame ()">
Ich hoffe Ihr versteht wie Ich's mein.
Danke By Andi.
Hallo,
das onLoad muss in den <body> der Seite die neu geladen wird hinein. Dann geht es.
Gruß ´Jan
JA das Ist ja das was Ich nicht machen kann.
In dem Frame sollen verschiedene Seiten unteranderem auch von anderen Websiten eingeblendet werden.
Sag das doch :o)
Vorschlag: Du kannst doch mit x.document.href herausbekommen welches Dokument im Moment im Frame angezeigt wird. Kannst Du nicht aller paar Sekunden schauen ob sich diese Variable verändert?
Gruß Jan
Daran hab Ich auch schon gedacht. glappt nicht ganz richtig. bei der ersten Seite klappts bei der zweiten nichtmehr.
Ich habe vom frame1 aus alle 3 Sekunden Überprüft ob sich die FrameUri geändert hat. Zum Test hab Ich mir des Mal mit alert anzeigen lassen.
Den ersten aufruf der funktion habe Ich mit onload im <frame>
function browser_target ()
{
if (parent.browser_body.location.href != frameUri)
{
alert ("frameUri 1" + frameUri);
frameUri = parent.browser_body.location.href;
alert ("frameUri 2" + frameUri);
}
window.setTimeout ("browser_target ()",3000);
}
so hab Ich's gemacht.
Das sieht eigentlich gut aus...
Ich würde die Funktion zum Test immer irgend etwas ausgeben lassen um zu schauen ob die überhaupt boch aktiv ist...
Gruß Jan
Moin
Das man fremde Seiten nicht einfach so in einen
eigenen Frameset einbinden sollte, ist dir klar, oder?
Ansonsten würde mir spontan dazu einfallen, in Frame 1
(der statische Frame) eine JavaScript Abfrage zu
machen, die jede Sekunde die URL des Nebenframes liest
und sie mit der vorigen vergleicht.
Also Frame 2 heißt frame2
var ulralt="", urlneu="";
function checkreload()
{
urlneu=parent.frames["frame2"].location.href;
if(urlneu!=urlalt){/*Jetzt hat sich der Frame geändert*/}
urlalt=urlneu;
window.setTimeout("checkreload()", 1000);
}
Nur wird im schlimmsten Fall erst eine Sekunde nach dem Seitenwechsel der erste Frame auch geupdatet, oder was auch immer du mit ihm machen willst.
Ich hoffe, das bringt dich weiter
Benjamin
Moin
Das man fremde Seiten nicht einfach so in einen
eigenen Frameset einbinden sollte, ist dir klar, oder?
Ist mir bekannt, Es werden aus nur Seiten geladen bei denen der Besitzer darüber informiert wird.
Ich probiers mal so aus.
by Andi