JavaScripts -> Frames -> Frameset mit bookmarkbaren URLs
Mit diesem Script können Sie zwei Nachteilen von Frames aus dem Weg gehen:
1. Man kann keine URL zu einem bestimmten Inhalt angeben
2. Wenn man auf Inhaltsseiten verlinkt, ist die Navigation nicht da etc.
Mit diesem Script können Sie URLs in der Form http://www.ihreseitemitframeset.de/?framename=datei&framename=datei angeben.
Außerdem beinhaltet das Script eine Funktion, mit der Inhaltsseiten das Frameset aufrufen können, wobei die Inhaltsseite in das richtige Frame geladen wird.
Kompatibilität getestet:
Script-Code
[DATEI FRAMELOADER.JS]
function prevailframeset(ltarget) {
if(parent==self) top.location.href="index.html?"+ltarget+"="+location.href; //index.html muss geaendert werden, wenn Ihr Frameset anders heißt.
}
[DATEI INDEX.HTML - DAS FRAMESET!]
<!doctype html public "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>Frameset</title>
</head>
<frameset cols="30%,70%,0"> <!-- WICHTIG: DER LETZTE "UNSICHTBARE" FRAME! -->
<frame...> <!--IHRE FRAMES MIT NAMEN -->
<frame...>
<frame src="frameloader.html" name="loader" noresize>
</frameset>
</html>
[DATEI FRAMELOADER.HTML - DIE LADE-ENGINE]
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- FRAME LOADER V1.0 (c) 2003 triple-m / http://www.htmlarsenal.de -->
<!-- BITTE DIESE DATEI NICHT VERAENDERN - PLEASE DO NOT CHANGE THIS FILE -->
<html>
<head>
<title></title>
<meta name="author" content="HTML Arsenal / Jens-Fabian Goetzmann">
<script type="text/javascript">
<!--
var query=parent.location.search;
if(query.length) {
query=query.substr(1,query.length-1);
delimiter=query.indexOf("=");
while(delimiter>0) {
ltarget=query.substr(0,delimiter);
query=query.substr(delimiter+1,query.length-(delimiter+1));
delimiter=query.indexOf("&");
if(delimiter<0) delimiter=query.length;
lurl=query.substr(0,delimiter);
query=query.substr(delimiter+1,query.length-(delimiter+1));
tframe=eval("parent."+ltarget);
tframe.location.href=lurl;
delimiter=query.indexOf("=");
}
}
//-->
</script>
</head>
<body></body>
</html>
[In allen Inhaltsdateien:]
.
.
.
<script type="text/javascript" src="frameloader.js"></script>
</head>
<body onLoad="prevailframeset('main')">
.
.
.
function prevailframeset(ltarget) {
if(parent==self) top.location.href="index.html?"+ltarget+"="+location.href; //index.html muss geaendert werden, wenn Ihr Frameset anders heißt.
}
[DATEI INDEX.HTML - DAS FRAMESET!]
<!doctype html public "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>Frameset</title>
</head>
<frameset cols="30%,70%,0"> <!-- WICHTIG: DER LETZTE "UNSICHTBARE" FRAME! -->
<frame...> <!--IHRE FRAMES MIT NAMEN -->
<frame...>
<frame src="frameloader.html" name="loader" noresize>
</frameset>
</html>
[DATEI FRAMELOADER.HTML - DIE LADE-ENGINE]
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- FRAME LOADER V1.0 (c) 2003 triple-m / http://www.htmlarsenal.de -->
<!-- BITTE DIESE DATEI NICHT VERAENDERN - PLEASE DO NOT CHANGE THIS FILE -->
<html>
<head>
<title></title>
<meta name="author" content="HTML Arsenal / Jens-Fabian Goetzmann">
<script type="text/javascript">
<!--
var query=parent.location.search;
if(query.length) {
query=query.substr(1,query.length-1);
delimiter=query.indexOf("=");
while(delimiter>0) {
ltarget=query.substr(0,delimiter);
query=query.substr(delimiter+1,query.length-(delimiter+1));
delimiter=query.indexOf("&");
if(delimiter<0) delimiter=query.length;
lurl=query.substr(0,delimiter);
query=query.substr(delimiter+1,query.length-(delimiter+1));
tframe=eval("parent."+ltarget);
tframe.location.href=lurl;
delimiter=query.indexOf("=");
}
}
//-->
</script>
</head>
<body></body>
</html>
[In allen Inhaltsdateien:]
.
.
.
<script type="text/javascript" src="frameloader.js"></script>
</head>
<body onLoad="prevailframeset('main')">
.
.
.