URL: https://www.overclockers.at/coding-stuff/java_script_spezialscript_gesucht_47649/page_1 - zur Vollversion wechseln!
Also ich brauche folgendes:
Webseite mit 3 Frames.
Oben der Titel, Bildchen, usw...
links die Navigation , deren Links den Inhalt des großen Hauptframes (rechts unten) ändern.
Ich möchte jetzt folgendes:
Das Hauptframe soll sobald es irgendjemand aufruft nachsehen ob es von meiner eigenen index.php aufgerufen wurde und nicht von irgendeiner externen Seite. Wenn der Aufruf von extern kommt dann soll sich das Script Platz schaffen und im kompletten Fenster laden (unterbinden des Ladens in Frames Fremder)
In Selfhtml hab ich was in der Richtung gefunden, nur kann ich dem Script eben nicht beibringen welcher Aufruf von meiner eigenen Page kommt und welcher nicht, bei Aufruf der index.php werden dann sobald das Hauptframe geladen wurde Navigation und Überschriftsframe rausgeworfen und ich seh nur noch das Hauptframe.
Ich fasse zusammen: Wer hat ein Script bei der Hand das checkt ob die Datei in ein Frameset geladen wurde und gleichzeitig checkt ob es das "eigene" oder ein "fremdes" ist. Im 2. Fall soll dann die index.php in das ganze Browserfenster geladen werden und "böse" Verlinker durch die Röhre kucken...
Na geh, keiner der ein bißchen was in Java-Script kann???
den "aufrufer der seite" checkst du über document.referer -> in diesem string kannst du zB nach deiner domain suchen.
solche skripte gibts im netz wie sand im strandbad -> such in einschlägigen javascript communities danach.
oder noch besser: probiers selber zu machen, ist gar net so schwer
Stimmt, an den Referer hab ich nicht gedacht, da könnte ich einfach abchecken welche Seite aufgerufen hat und dann in sämtliche Files einbauen.
Danke ich schau mal!
Üblicherweise checkt man in so einem Fall das Top-Window, obs der eigene Frameset ist.
pfusch!! und was machst, wenn der user kein javascript an hat? oder - ich schätze mal du willst die in selfhtml angesprochenen schaufenstereffekte unterbinden - derjenige der deine seite einbindet kann ebensogut deine ganze index-seite einbinden, dann kannst du nicht dagegen tun, ausser du machst wieder in der index-seite eine abfrage - aber generell gilt: wenn jemand eine seite/bzw den teil einer seite in ein 'schaufenster' packen will - dann kann er das auch, du kannst praktisch nix dagegen tun
wie dem auch sei - zufällig hab ich ein gerade solches script geschrieben, mit dem einfachen trick, dass im index eine variable definiert wird, und in den 'client-seiten' überprüft wird ob diese existiert
Geschrieben hab' ich das aber aus einem ganz anderen anlass: ich wollte versuchen die nachteile von frames auszubügeln
ich geh noch schnell auf die suche, dann post' ichs hier rein.... stay tuned
Zitat von watchoutpfusch!! und was machst, wenn der user kein javascript an hat? oder - ich schätze mal du willst die in selfhtml angesprochenen schaufenstereffekte unterbinden - derjenige der deine seite einbindet kann ebensogut deine ganze index-seite einbinden, dann kannst du nicht dagegen tun, ausser du machst wieder in der index-seite eine abfrage - aber generell gilt: wenn jemand eine seite/bzw den teil einer seite in ein 'schaufenster' packen will - dann kann er das auch, du kannst praktisch nix dagegen tun
wie dem auch sei - zufällig hab ich ein gerade solches script geschrieben, mit dem einfachen trick, dass im index eine variable definiert wird, und in den 'client-seiten' überprüft wird ob diese existiert
Geschrieben hab' ich das aber aus einem ganz anderen anlass: ich wollte versuchen die nachteile von frames auszubügeln
ich geh noch schnell auf die suche, dann post' ichs hier rein.... stay tuned
also, ein paar sachen muss man schon beachten...:
die folgenden zeile gehört in alle 'clientseiten' - und zwar in deren header:
deren body-tag sollte zumindest so ausschaun:Code:<script language="JavaScript" src="script.js" type="text/javascript"></script>
die nächste kannst in die diversen 'statischen' seiten geben, wie menü,banner usw.:Code:<body onload="CheckParent()">
comment: die zeilen kannst eigentlich auch in's script.js-file werfen, naja hab das script nicht 100% fertig gemacht, weil ich zur ansicht gekommen bin, dass es sinnlos is' - vielleicht gibts mal ne final-version...Code:<script language="JavaScript"> <!-- if(!parent.FrameSetIsHere){location.href="index.html"} //--> </script>
so, und jetzt kommt das prob von dem script, weswegen ich den tip gebe das index-script in php zu konvertieren, geht ohne prob's:Code:<script> <!-- var k=0; var FrameSetIsHere=1; var flag=0 window.name=document.title function ShowSite() { var s; if(window.location.search != "") { s=window.location.search; main.location.href=s.substring(1,s.length); } else { main.location.href="cnt/home.htm"; } } //--> </script>
der code gehört an eine stelle, wo er geladen werden kann, nachdem die framesets definiert wurden - das is' ne probiererei - ich empfehle den bereich vorm letzten </frameset>, kann aba nix garantieren...Code:<script language="JavaScript"> <!-- ShowSite() //--> </script>
Ach so habe gedacht du machst es ohne JS, das wär mir auch lieber in PHP, aber es ist mal ne Anregung...
Also auf der Hauptpage kommt das Script von selfhtml (der User checkt dann schon daß auf eine fremde Seite verlinkt wurde weil sich das Fenster in den Vordergrund schiebt wenn die Index-Seite in ein Frame geladen wird).
Auf der Index-Seite kommt dann bei den Frameset-Definitionen eine Variable zum Einsatz also ungefähr so:
<frameset rows="85,*" framespacing="0" scrolling="0" border="0" frameborder="0">
<frame src="ueberschrift.php?checker=laden" scrolling="NO" marginwidth="20" marginheight="20">
<frameset cols="130,*" frameborder="NO" framespacing="0">
<frame src="navigation.php?checker=laden" scrolling="NO" marginwidth="5" marginheight="5">
<frame src="start.php?checker=laden" scrolling="AUTO" marginwidth="10" marginheight="5" name="haupt">
</frameset>
</frameset>
In den einzelnen Dateien (z.B. haupt.php:
switch ($checker)
{ case "laden": echo "Seite wird aufgebaut";
# Seite wie schon vorher vorhanden
break;
case "*": echo "ätsch!!!"; break;
case "": echo "ätsch!!!"; break;
}
Sollte gehen so. Und wenn einer auf die Variable draufkommt wird einfach ?checker='$GF0pw5436v$%&! gesetzt
draufkommt is' gut... da brauchst nur im source nachschaun...
hmm, aba du hast mich jetzt auf was gebracht, an das ich vorher net gedacht hab....
Zitat von watchoutdraufkommt is' gut... da brauchst nur im source nachschaun...
hmm, aba du hast mich jetzt auf was gebracht, an das ich vorher net gedacht hab....
hab ne idee, bin aba derzeit so vollgepumpt mit ideen... kann mal wer nen gehirn-backup erfinden? und dann am besten noch nen konverter dazu.... damit ichs mir am pc anschaun kann....
kannst per php nen fast 100% sichere gschichte machen... aba wieder nur für 'child'-seiten:
also, machst ganz einfach bei erstellen von der index-seite einen unique-string - wasweissich mit der zeit zb., den verschlüssels't mit einer maschinen-konstante - somit hast was, das über alle scripts gleich bleibt - wo aba der user net ran kommen kann, oda die er net wissen kann, dann übergibst zeitwert und verschlüsselten wert per session-variable an den child - dort wird wieder (mit der gleichen pw-funktion natürlich) überprüft, ob der gleiche wert zur gleichen zeit rauskommt - ab dann lohnt sich der Aufwand schon 100mal nimmer
edit:ad referer: wenn du dann im menü-frame auf nen link clickst is' auf einmal menu.html der referer, das script denkt sich, dass es nicht/bzw im falschen frame-fenster is' und patsch du hast ne neue instanz
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025