Seite im Frame laden

16.09.2001


Stellen Sie sich vor, eine Ihrer Seiten wird separat aufgerufen,
beispielsweise vom Link einer Suchmaschine.
Diese Seite wird separat dargestellt und nicht wie gewollt in einem Frame.

Diese L�sung zeigt, wie man das Laden in einem bestimmten
Frame erzwingen kann.

Testen Sie es, indem Sie diesen Link aufrufen.
Diese Seite wird in einem neuen Fenster aufgerufen,
wird jedoch in den richtigen Frame geladen.

 

Inhalt der index.htm:
<html>
<head>
<title>Frame erzwingen</title>
</head>
<script language="JavaScript">
<!-- Begin
	if (self == top)
	{
   		var FrameURL = location.search.substring(1);
	}
	else
   	{	
   		top.location.href = location.href;
   	}
// End -->
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
	var MainFrameURL;
        if (FrameURL == '')
       	{
        	MainFrameURL = 'haupt.htm';
        }
        else
        {
        	MainFrameURL = FrameURL;
        }
document.writeln('<frameset rows="96,*">');
document.writeln('  <frame name="Oben" scrolling="no" noresize target="Oben" src="oben.htm">');
document.writeln('  <frameset cols="262,*">');
document.writeln('    <frame name="Links" target="Hauptframe" src="links.htm">');
document.writeln('    <frame name="Hauptframe" src="' + MainFrameURL + '">');
document.writeln('  </frameset>');
document.writeln('  <noframes>');
document.writeln('  <body>');
document.writeln('<p>Diese Seite verwendet Frames.<br>');
document.writeln('Frames werden von Ihrem Browser leider nicht unterst�tzt.</p>');
document.writeln('</body></noframes></frameset>');
//-->
</SCRIPT><NOSCRIPT>
</html>
 

Inhalt aller Seiten, die im Frame dargestellt werden sollen:

<html>
<head>
<title>Testseite</title>
<script src="setframe.js"></script>
</head>
<body>
<p><font face="Verdana" size="2"><b>Testseite</b></font></p>
</body>
</html>
 
Inhalt der setframe.js:
  if(!parent.Hauptframe) 
  	location.href="index.htm?" + location.pathname;
 
Beachten Sie den Namen des Frames !
In der index.htm und in der setframe.js muss dieser �bereinstimmen
(siehe rote Markierung)

Erkl�rung:

Durch das Einbinden der setframe.js wird �berpr�ft,
ob sich die Seite im Frame namens Hauptframe befindet.
Ist dies nicht der Fall, wird die index.htm mit Hilfe einer �bergabe aufgerufen:
index.htm?testseite.htm

Diese �bergabe wird anschlie�end in der index.htm ausgewertet
und der entsprechende Frameset zusammengesetzt:
document.writeln('    <frame name="Hauptframe" src="' + MainFrameURL + '">');

 
 
Download - 2 KB