Frames mit JavaScript nachladenQuelltext von loadinframeset.js |
![]() ![]() ![]() |
Dies ist die Auflistung der Datei beispiele/loadframes.js,
die in den HEAD-Teil jeder frame-Datei eingebunden werden muß
um das umgebende Frameset korrekt nachzuladen. Im folgenden Quelltext sind Kommentare grün, Funktionsdeklarationen sind fett und rot markiert. |
![]() ![]() ![]() ![]() |
/* ------------------------------------------------------------------------- * Frameset-Lader * von Ulrich Kritzner, 2003 * (c) 2003 Ulrich Kritzner. * Die Verbreitung dieser Datei unterliegt der GNU General Public License. * * Frameset Loader * Written by Ulrich Kritzner, 2003 * Copyright 2003 by Ulrich Kritzner. * Redistribution of this file is permitted under the GNU General Public License. * ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- * Diese JavaScript-Datei MUSS vom jeweiligen Frame * eingebunden werden, um den Frameset-Lader verwenden zu koennen. * Dies muss im HEAD-Teil vorgenommen werden. * ------------------------------------------------------------------------- */ var NewURL=""; var FL_InitFunction,FL_URL,FL_Frame; var FL_CountDown=10; function loadFrame(FrameNum) /* Frame laden (wenn Browser framefaehig und Ziel angegeben) */ { var locus; /* wenn keine Frames, dann abbrechen */ if (typeof(parent.frames)=="undefined") return; /* wenn zu wenige Frames, dann abbrechen */ if (parent.frames.length<=FrameNum) return; /* wenn schon ausgetauscht, dann abbrechen */ if (typeof(parent.correctframe)!="undefined") return; parent.correctframe=1; locus=parent.location.href.search(/locus=.+/); /* wenn locus nicht gefunden, dann abbrechen */ if (locus<0) return; locus+=6; NewURL=parent.location.href.substr(locus,parent.location.href.length); if ((typeof(parent.frames[FrameNum].location.replace)=="function")|| (typeof(parent.frames[FrameNum].location.replace)=="object")) parent.frames[FrameNum].location.replace(NewURL); else parent.frames[FrameNum].location.href=NewURL; } function waitForFrameset() /* wartet auf das Frameset */ { var ToWait=0; if (typeof(parent.frames)=="undefined") ToWait=1; else if (typeof(parent.frames.length)=="undefined") ToWait=1; if ((FL_CountDown>0)&&ToWait) { FL_CountDown--; window.setTimeout("waitForFrameset();",250); return; } _loadInFrameset(FL_URL,FL_Frame); if (typeof(FL_InitFunction)=="function"|| typeof(FL_InitFunction)=="object") FL_InitFunction(); } function loadInFrameset(URLFrameset,FrameNum,InitFunction) /* Beginnt das Laden des Framesets Attribute: URLFrameset: URL der Frameset-Seite FrameNum: Nummer des Frames (beginnend mit 0) InitFunction: Funktion zum Initialisieren nach Ladevorgang */ { FL_URL=URLFrameset; FL_Frame=FrameNum; FL_InitFunction=InitFunction; waitForFrameset(); } function _loadInFrameset(URLFrameset,FrameNum) /* Frameset oeffnen, wenn nicht bereits im Frameset, sonst richtigen Frame aktivieren Attribute: URLFrameset: URL der Frameset-Seite FrameNum: Nummer des Frames (beginnend mit 0) */ { var ToLoad=0,locus; if (typeof(parent.frames)=="undefined") ToLoad=1; else if (parent.frames.length<2) ToLoad=1; /* wenn noch kein Frameset geladen ist, dann nachladen */ locus=parent.location.href.search(/locus=.+/); if (locus>=0) ToLoad=0; if (ToLoad) { NewURL=URLFrameset+"?locus="+window.location.href; if ((typeof(window.location.replace)=="function")|| (typeof(window.location.replace)=="object")) parent.location.replace(NewURL); else parent.location.href=NewURL; } /* wenn Frameset schon geladen ist, dann richtigen Frame laden */ else loadFrame(FrameNum); } |
![]() ![]() ![]() |
Autor: Ulrich Kritzner |