Frames nicht ohne Frameset laden

Status
Nicht offen für weitere Antworten.

Cyberbird

Mitglied
Hi!

Ich habe eine Website mit einem Frameset. Nun möchte ich, dass wenn jemand von extern auf eine im Frame aufgerufene Seite gelangt, stattdessen das ganze Frameset geladen wird.

Beispiel: es kommt jemand über google auf http://www.domain.de/seite.html. Diese Seite soll aber im Frameset und nicht alleine angezeigt werden, also soll ein Check eingebaut werden, ob die Seite vom Frameset oder alleine aufgerufen wurde.

Wie kann ich das erreichen?
 
Mit JavaScript kannst Du es erreichen.
Das müsste die Lösung sein (zumindest ist sie es bei uns):
Code:
<script language="JavaScript">
<!--
if (parent.frames.length < 1) {
	window.top.location.href="index.html";
}
//-->
</script>

redlama
 
Wobei hier ja das Problem ist, dass dann die Hauptseite geladen wird und man die Seite, die man eigentlich sehen will, erst mühsam wieder suchen musst.
 
Das ist richtig, aber da die meisten ja sowieso die Frames in der Index Seite definiert haben und mit jedem Klick in der Navigation nur den Inhalt der Frames ändern, muss dann doch die Index Seite geladen werden, um die Frames zu laden.
Oder irre ich mich da?

redlama :suspekt:
 
Hi

für die Seiten die auf das Frameset weitergeleitet werden sollen:
HTML:
<script type="text/javascript">
<!--
if (parent.frames.length < 1) {
	window.top.location.href="index.html?seite="+location;
}
//-->
</script>
und das must du in dein Navi-Frame einfügen:
HTML:
<script type="text/javascript">
<!--
function holeParameter(name)
	{
	var s,i;
	// Start suchen...
	s=unescape(parent.location.search);
	i=s.indexOf(name+"=");
	if(i==-1)
		{
		return "";
		}

	// ...und Ende
	s=s.substr(i+name.length+1);
	i=s.indexOf("&");
	if(i!=-1)
		{
		s=s.substr(0,i);
		}
	return s;
	}

var SEITE = holeParameter("seite");
if(SEITE) { parent.Daten.location.href = SEITE; }
//-->
</script>
Bei "parent.Daten.location.href = SEITE;" must du Daten durch den Namen deines
Contentframe estzen...
Das wars

MfG
 
Status
Nicht offen für weitere Antworten.
Zurück