Frames mit JavaScript nachladen

Quelltext von loadframes.html

Dies ist die Auflistung der Datei beispiele/loadframes.html, die den Nachladevorgang des Framesets und des Ursprungsframes überwacht.

Im folgenden Quelltext sind Kommentare grün, der wichtige JavaScript-Teil fett und rot markiert.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<!-- -----------------------------------------------------------------------
   Frameset-Lader (Management-Komponente)
   von Ulrich Kritzner, 2002
   (c) 2002 Ulrich Kritzner.
   Die Verbreitung dieser Datei unterliegt der GNU General Public License.

   Frameset Loader (Management Component)
   Written by Ulrich Kritzner, 2002
   Copyright 2002 by Ulrich Kritzner.
   Redistribution of this file is permitted under the GNU General Public License.
  ----------------------------------------------------------------------- -->
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="content-language" content="de">
<meta http-equiv="content-script-type" content="text/javascript">
<meta http-equiv="content-style-type" content="text/css">
<meta name="author" content="Ulrich Kritzner">
<meta name="robots" content="none">
<meta name="revisit-after" content="20 days">
<title>
DROEPPEZ Frameloader
</title>
<script type="text/javascript">
<!--
var i=0,DoItNow=0,FirstDo=1;
var URLload="",FrameNum=0,timer=0;
URLload=window.opener.location.href;

function CheckFrames()
{
  if ((FirstDo)&&(window.opener.LoadNewURL))
  {
/* Frameset laden: */
    FirstDo=0;
    FrameNum=window.opener.NewNum;
    window.opener.LoadNewURL(window.opener);
  }
  if (DoItNow>0)
  {
/* wenn Frame noch nicht richtig geladen: */
    if (window.opener.frames[FrameNum].location.href!=URLload)
    {
      if ((typeof(window.opener.frames[FrameNum].location.replace)=="function")||
          (typeof(window.opener.frames[FrameNum].location.replace)=="object"))
        window.opener.frames[FrameNum].location.replace(URLload);
      else
        window.opener.frames[FrameNum].location.href=URLload;
    }
/* sonst Zyklenzaehler auf abgelaufen setzen: */
    else
      i=61;
  }
/* wenn Zyklen abgelaufen oder Nachladen erfolgreich: */
  if (i>60)
  {
    window.close();
    return;
  }
/* wenn Frameset bereits geladen: gruenes Licht fuer Seite nachladen: */
  if (typeof(window.opener.frames)=="object")
    if (window.opener.frames.length>1)
      DoItNow=1;
/* Zyklen hochzaehlen: */
  i++;
/* Timer aktivieren */
  timer=window.setTimeout("CheckFrames();",500);
}

function Init()
{
/* wenn einzeln geoeffnet sofort wieder schliessen: */
  if (!window.opener)
  {
    window.close();
    return;
  }
/* Framenachladung ankurbeln: */
  CheckFrames();
}

function DoContinue()
{
/* Timer neu starten: */
  if (timer)
    window.clearTimeout(timer);
  timer=window.setTimeout("CheckFrames();",500);
}
//-->
</script>
</head>
<body onLoad="Init()"
>
<h4 align="center">Droeppez Frameset Loader</h4>
<form>
<p align="center">
Ein Dokument wurde aus dem Frameset gel&ouml;st.<br>
Das Frameset wird jetzt nachgeladen.<br><br>
Mancher Browser (Opera) stoppt den Timer. Daher:<br>
<input type="button" onClick="DoContinue()" value="Vorgang fortsetzen"><br><br>
Fenster bitte nicht schlie&szlig;en.<br>
(schlie&szlig;t selbstt&auml;tig nach sp&auml;testens 30 sec.)
</p>
</form>
</body>
</html>
Autor: Ulrich Kritzner