Haben Sie sich schon mal darüber geärgert, dass Ihre Seiten in fremden Framesets angezeigt werden. Oder dass Ihre Seiten einzeln ohne das dazugehörige Frameset aufgerufen werden können? FrameJammer macht alldem ein Ende.
[Kompatibilität]
Die Funktionsweise des FrameJammers ist genauso simpel wie raffiniert:
FrameJammer besteht aus zwei Scriptteilen.Ein Script wird in J E D E HTML- Datei eingebunden, die nur innerhalb eines Framesets angezeigt werden darf.Ein weiteres Script wird in die HTML- Datei eingebunden, die das Frameset enthält.
Bei der Definition eines Framesets werden den einzelnen Frames eindeutige Namen vergeben. Im Script wird definiert, innerhalb welchen Frames eine Seite geladen werden muss.
Wird nun eine HTML- Seite aufgerufen, so überprüft FrameJammer, ob die Seite im definierten Frame geladen wird. Trifft dies zu, passiert nichts. Trifft dies nicht zu, wir ein allfälliges, falsches Frameset aufgelöst, das richtige Frameset aufgerufen und darin die betreffende Seite geladen.
Somit wird garantiert, dass eine Seite immer innerhalb des richtigen Framesets geladen wird.
[Code]
<script> // frameJammer_hp V2.0 winname=document.location.href; var s = winname.split("/"); if (window.name!='FrameName') top.location.replace('frameset.html?Seite.html~FrameName'); // frameJammer_hp End </script>
Beachten Sie hierbei Folgendes: Anstelle von frameset.html tragen Sie den Namen der Datei ein, die Ihr Frameset enthält. Anstelle von Seite.html tragen Sie den Namen der Datei ein, in welche Sie diesen Code eingebunden haben. Anstelle von FrameName tragen Sie den Namen des Frames ein, in welchem die Seite angezeigt werden soll.
WICHTIG!!:Die Angabe von FrameName, welche zwei mal erfolgt, muss übereinstimmen, da ansonsten ein Loop entsteht und der Browser ständig versucht, die Seite neu zu laden.
Falls sich frameset.html und Seite.html in verschiedenen Verzeichnissen befinden, müssen Pfadangaben gesetzt werden, bspw.: top.location.replace('../frameset.html?/verzeichnis/Seite.html~FrameName');
<script> // frameJammer_hp V2.0 winname=document.location.href; var s = winname.split("/"); if (self != top) // frame buster top.location.replace(self.location);
function frameJammer_hp(){ var framedPage = location.search; if (framedPage.length > 1){ framedPage = framedPage.substring(1); var theSplit = framedPage.indexOf('~'); var thePage = framedPage.substring(0,theSplit); var theFrame = framedPage.substring(theSplit+1); eval("top."+theFrame+".location.replace('"+ thePage+"')");} }
var agt = navigator.userAgent.toLowerCase(); var is_major = parseInt(navigator.appVersion); var is_iemacdud = (agt.indexOf('msie')!=-1) && (agt.indexOf('mac')!=-1) && (is_major < 4); if (is_iemacdud){setTimeout('frameJammer_hp()',1500);} // frameJammer_hp End </script>
onLoad="frameJammer_hp()"
??
Kopieren Sie bitte den Code