WWW WWW WWW WWW WWW WWW WWW WWW WWW WWWW WWW WWWW WWWW WWW WWWW WWWW WWW WWWW WWWW WWW WWWW WWWW WWW WWWW WWWW WWW WWWW WWWWWWWWWWW WWWWWWWWWWW WWWWWWWWWWW ** WWWWWWWWW WWWWWWWWW WWWWWWWWW ** GGGGGGGGGGGGGG HHH HHH CCC III FFFFFFFFFF GGGGGGGGGGGG HHH HHH CCC III FFFFFFFFF GGGG HHH HHH CCC FFF GGGG GGGGG HHH HHH CCC FFF GGGG GGGGGG HHHHHHHHHHH CCC III FFFFFF GGGG GGGG HHHHHHHHHHH CCC III FFFFF GGGG GGGG HHH HHH CCC III FFF GGGGGGGGGGGG HHH HHH CCC III FFF ** GGGGGGGGGGGGG HHH HHH CCC III FFF ** DDDDD EEEEEEEEE DDDDDD EEEEEEEE DDD DD EEE DDD DD EEEEEEE DDD DD EEEEEE DDD DD EEE DDDDDD EEEEEEEE DDDDD EEEEEEEEE --[ Program Name: Java Tutorial --[ written by: Tha Tactic --[ Ascii by: Tha TaKeR <---------------------------------------------------------------> | I N H A L T | | 1. Wo kommt der Code rein? | | 2. Erste Beispiele mit der DialogBox | | 3. Noch mehr Beispiele jetzt DialogBox mit Eingabefeld | | 4. So jetzt machen wir mal Objekte | | 5. So jetzt Fensterln wir mal eine Runde | | 6. Eine echte "einfach Passwortabfrage" | | 7. Mit Variablen zählen (Java Tut #2) | | 8. Alles über den Browser (Java Tut #2) | | 9. Datum und Uhrzeit oder DIE ZEIT VERGEHT (Java Tut #2) | | 10. Bannerscrolls & Lauftexte (Java Tut #2) | | 11. So ein kleines Add ON fertiges Java Script (Java Tut #2) | <---------------------------------------------------------------> So, die Teile 1-6 stehen im Java Tut#1 die anderen im Teil 2. immer mehr Leute wollen Java Script erlernen, deshalb habe ich mich entschlossen diesen TUT zu schreiben. JavaScript ist eigentlich total einfach vor allem weil man keinen compiler und so einen Mist braucht. Ihr braucht nur einen Texteditor. Und eben die Page wo ihr die Codes reinpacken könnt. Oh ja und das was ja auch wohl jeder hat einen Browser Netscape 4.xx oder IE 5.x sind da am besten. OS ist egal, da JavaScript Plattform unabhängig gecoded wird. So ich denke genug gelaabert anfangen. Übrigens an alle JavaScript Meister da draussen ich will hier nochmals sagen das ist ein Tutorial für blutige Java Script Anfänger also Mault nicht gleich rum wenn man den einen oder anderen Code cooler machen könnte oder so. Schreibt mir leiber ein paar neue Vorschläge so das ich die in einen evtl. 3. Guide bauen kann Was brauche ich? I. Einen Ascii Editor, Notepad eben. II. Einen Browser, zum gucken ob die Dinger auch gehen die man da so coded III. Viele viele Kippen. IV. Bisschen Hirn. Nicht zuviel aber nach Möglichkeit ohne Alzheimer oder BSE V. Diesen Tut vI. Und Erfahrung im HTML Seiten schreiben. Bisschen zumindest VII. Und wie TJoke noch meinen würde W O D K A R E D B U L L 1. Wo füge ich den Code ein? Der JavaScript Code wird in 90% der fällen nach und vor im HTML Code. Den seht ihr zum Beispiel sehr cool in Frontpage. Da sind wenn ihr grafisch arbeitet unten 3 Tabs. Einer heisst Quellcode oder so. Ist der 2. oder ihr laded die Page einfach ins Notepad von Windows. 2. Erste Beispiele: Die DialogBox So wir haben jetzt mal angenommen unsere Page schon fertig und jede Menge Links drauf. So jetzt will ich wenn einer mit der Maus auf den Link geht das unten links im Status Fenster erscheint was der Link ist. Das geht mit dem Befehl OnMouseOver="window.status='Dein Text'; return true"> also wir haben jetzt auf die Zeile Blah einen Link gesetzt der auf die Page Blah.htm linkt. Im Quellcode sieht das so aus: Blah So damit wir jetzt unser Ziel erreichen mit dem Status Fenster klemmen wir einfach unseren Code rein in dem Beispiel funzt das dann so: Blah Ist also ganz einfach oder?!? Das ist jetzt ein ganz einfaches Script was auch nicht eingeleitet werden muss. Die meisten werden aber eingeleitet wobei das auch total easy ist. Das funkt dann mit folgendem Befehl: Was dann noch gemacht werden muss ist den Tag erweitern durch: also durch die Onload=".... 3. So wir machen DialogBoxen Gleich nach dem Tag folgendes reinhackern: eingeleitet und beendet mit und durch function eingeleitet. Der eigentliche Code befindet sich in { } Jede Code Zeile wird mit ; beendet. So jetzt können wir anstatt der Standard Box auch eine mit OK und Abbrechen erstellen. Dadurch tauschen wir den Befehl "alert" mit "confirm" dann kriegen wir ne Box mit ?. So das kanns aber nicht sein. Also wollen wir die Buttons noch belegen: Durch "var" wird jetzt eine Variable definiert. Wenn jetzt "if" den Wert true ausgibt (was ja die OK Taste macht) dann gehts weiter zu dem Code in der nächsten { wenn nicht wird diese übersprungen und die nächste angesteuert. Wenn keine da ist passiert auch nix. Eine Variable kann Zahlen, Buchstaben oder Wahrheitswerte speichern. Variable als Zahl Speichern: var x <--- hier wird die Variable x bestimmt x=19 <--- hier wird der Wert zugewiesen. Das ganze passt aber auch in eine Zeile: var x=19; oder auch mal mit Buchstaben anstatt Zahlen: var x="GHCiF"; So das Wort das in die Variable gespeichert wird nennt man jetzt STRING aber dazu kommen wir noch früh genug. Oder eben als Wahrheitswert speichern: var x=true Den Namen von Variablen kann man fast beliebig wählen (Bei uns ist er ja "Enter") Eine Variable darf aus folgendem bestehen: --> Buchstaben --> Zahlen --> Unterstrichen BSP: Enter Enter2 Enter_2_Alt Enter_neu Aber immer daran denken das JavaScript Case Sensitive ist. Also "Enter" ist nicht gleich "enter" -----> !!! A C H T U N G !!! <----- Es gibt aber doch noch ein paar Wörter die man nicht als var definieren kann, die da währen break else false native private static throw typeof synchronized function for if boolean char default extends goto try in return this int new protected super throws void true var while byte class public delete final implements interface abstract catch continue null switch transient with case double float instanceof const do finally import long package short -----> !!! A C H T U N G !!! <----- Was ja oben im Beispiel auch drin ist ist die "if"-Abfrage, dort wird die Variable auf einen bestimmten Wert geprüft. Bei uns "false" oder "true" Wenn jetzt die Variable true ist wird eben wie oben ein bestimmter Code ausgeführt. Allgemein gesehen sieht das so aus: if (Bedingung) <--- if leitet die Anfrage ein, in den Klammern steht die Bedingung { Bsp.: (Enter==true) dann //Der Code <--- unser Code wie immer in {} gepackt } >--< und daran denken nach "if" kein ";" So jetzt wollen wir mal die Funktionen der Dialogbox die wir erstellt haben voll ausnutzen und mal den Abbrechen Button auch definieren. So wenn wir jetzt auf OK gehen macht er ein neues Fenster auf unsere Index Page. Wenn nicht schreibt er das vorhandene Fenster um und macht uns nen netten Link rein ;). Das Umschreiben geht mit dem Befehl window.document.write Einfach und nett oder!? 3. Noch mehr Beispiele jetzt DialogBox mit Eingabefeld (auch bekannt als einfache Passwort Abfrage) So manche (zumindestens die die denken können) und den Code analysiert haben sehen jetzt "Password Check OK...." das ist nur ein Treat. Damit die die das Passwort falsch eingegeben haben sich doppelt ärger ;) So jetzt aber zum Code selber. Das einzige was verändert worden ist (zumindest wesentlich) ist confirm durch promp. Durch Prompt kommt eben eine Dialogbox mit "OK", "ABBRUCH" und "EingabeFeld". Klar darf jetzt nicht in der definierten Variablen (hier Pass) true stehen. Sonst reicht ja ein OK Klick. Da muss jetzt ein Passwort stehen. Also ein...? STRING...! richtig 99 Punkte, bei 100 hätte es.... Natürlich kann man auch nen ganzen Satz als Variable definieren. Kein Thema. Nur was ist wenn jetzt einer das PW kennt. Aber er schreibt anstatt "Tactic", "tactic". Scheisse kommt doof. Also machen die "if"-Abfrage ein kleines bisschen grösser. if (Pass=="Tactic" || Pass="tactic") dann geht das ganze. Die beiden Senkrechten Strich (||) symbolieren ODER. Also entweder Tactic oder tactic lassen den der das Passwort eingibt weiter. Die Dinger nennt man dann Operator, zu denen geören auch UND, ENTWEDER-ODER... Hier eine kleine Auflistung von VERGLEICHS OPERATOREN: < kleiner als <= kleiner gleich > grösser als >= grösser gleich <> Ungleich == gleich Und hier die "richtigen" Operator: && Und (AND) ^ Entweder-Oder (XOR) || Oder (OR) Also bis auf das letzte kennen wir das doch alle aus der 1. oder 2. Klasse oder nicht?!? So natürlich können wir auch eine Dialogbox aufpoppen lassen anstatt der Page mit dem Aldi Link. Das würde dann so ausehen: So was wir jetzt gemacht haben ist eine Schleife eingefügt. Wie man ja oben sieht leiten wir mit "while" die Schleife ein. Die geht immer wieder von vorne los, es sei denn ich gebe ihr den Befehl "break" dann wird sie unterbrochen und die nächste { nach else wird ausgrführt. Vielleicht klingt das bisschen kompliziert. Einfach mal den Code oben richtig anschauen dann dürft es klar werden. Cool ist alt das der der das Passwort nicht kennt jetzt ziemlich fest sitzt. Hehe! Also hier nochmal Wie Use ich die WHILE Schleife?!: while (Bedingung) { /* so hier den Code rein. der solange gehen soll bis break oder die Bedingung ausgeführt wird. */ } So besser? Irgendwie ähnlich der IF Abfrage nicht wahr. Ist das einfache an JavaScript. Alles ähnelt sich. Mehr oder Weniger :) Um nochmal ganz knapp zu sagen was denn der Unterschied zwischen IF und WHILE ist. IF fragt nur einmal und handelt. WHILE immer wieder... und wieder... und wieder... und... bis ein richtiges Ergebniss kommt. Und das kann dauern. Wie "IF" wird auch "While nicht mit ";" abgeschlossen. 4. So jetzt machen wir mal Objekte Wie auch in anderen hohen Programmiersprachen wie in Java oder C++ arbeiten wir auch in JavaScript fast nur noch mit Objekten. Was wichtig ist ist, das jedes Objekt einen festen Namen bekommt. Wie zum Bsp. "Golf" daran denken das JS case sesitive ist und das Golf nicht glcih golf ist. Bleiben wir mal bei den Autos. Ein Auto hat mehrere Eigenschaften. Jede eigenschaft können wir mit JS ausdrücken. Golf.Farbe würde die Farbe sein. Golf.Höchstgeschwindigkeit die Geschwindigkeit. Gefällt uns eine Karren könnetn wir ihn kaufen in JS würde das so aussehen: if (Golf.Farbe==grün) { kaufen (); } Weiter oben haben wir auch schon mit Objekten gearbeitet. Mitgekriegt? window.open ("http://www.ghcif.de/secret.htm"). Klingelts?! Also da ist das Objekt window. Nur wir vergeben keine Eigenschaft sonder einen Befehl, also eine Methode. Und noch einen 2. haben wir durchgemacht window.document.write ("

Password check OK ENTER N O W

") Jetzt zur Erkärung. Hier wir das Objekt "window" angesprochen. Das im Fenster dargestellte Dokumen "document" soll jetzt mit einer Aktion behaftet werden. Also mit der Aktion "write" Was genau geschrieben wird steht ja in den Klammern. Man sehe und staune. So jetzt kümmern wir uns mal um den genauen Unterschied von Eigenschaft und Methode. Eigenschaften wären zum Beispiel bei einem Auto: Name, Typ, Gewicht, Breite.... Mit solchen Angaben kann man ein Objekt ganz genau definieren und damit auch bestimmen. Ene Metode dagegen ist eine Aktion. Also etwas was mit dem Auto, oder wie oben mit dem Fenster ("window") passieren soll. Wenn wir jetzt unser Auto doch nicht grün haben wollen sondern lieber schwarz müssten wir das in JS so ausdrücken: Golf.NeueFarbe(schwarz); NeueFarbe() ist jetzt unsere Methode. In Klammern steht das was es werden soll. Das nennt man Argument. Das soll jetzt übergeben werden. Wir könnten auch neue Sitze einbauen oder so. Neue Sitze wären so zu realisieren. Golf.NeueSitze(Schalensitze); So jetzt hat unser Golf neue Sitze. Vielleicht wollen wir irgendwann mal wissen, was er denn jetzt für Sitze drin hat. Das machen wir ganz einfach mit folgendem Befehl: X=Golf.Sitze <-- hier wird die Eigenschaft Sitze ausgelesen und in der Variable X gespeichert alert (X); <-- hier wird jetzt der Wert in einer DialogBox ausgegeben. 5. So jetzt Fensterln wir mal eine Runde So das war jetzt jede Menge graue Theorie, aber die braucht man eben auch um dann nachher selbständig weiter coden zu können. Wir können ja jetzt schon Fenster aufmachen. Damit werden wir uns jetzt näher beschäftigen, indem wir unabhängige Fenster erstellen und mit denen Arbeiten. Also ran an die Sache: Anfangen wollen wir mit einem ganz einfachen Fenster, das einen einfachen Inhalt ausgibt. Den Befehel dafür kennen wir ja eigentlich schon. window.open. nur den wollen wir ein wenig modifizieren (=ändern ) Unser Beispiel kriegt jetzt ein Fenster das den Text "GHCiF ownz you" enthält. Wie immer nach Head und vor Body einfügen blah blah blah....... Sieht einfach aus? Ist es auch. Denn hier ist noch fast nichts neues drin. Aber eben nur fast. Wir definieren Anfangs erst einmal eine Variable. Hier "win". Dann folgt der eigentlich JS Befehl win=window.open("","GHCiF Window","width=50,height=50"); Über window.open, öffnen wir unser neues Fenster. Durch die ersten zwei " haben wir ein leeres Fenster geöffnet ganz ohne HTML Code. Denn wir wollen ja ein unabhängiges Fenster haben. Danach kommt der Name des Fensters. Hier also GHCiF Window. danach die Optionen width (Breite) und height (Höhe). Die können wir nach belieben kleiner oder grösser machen je nach dem was in dem Fenster alles stehen soll. Bei uns ja nur die eine Zeile also reicht das. Durch das Variable setzten haben wir jetzt ein Fenster bestimmt, das sich win nennt. das wird jetzt durch den nächsten Befehel angesteuert: win.document.write("

GHCiF ownz you!

"); Also zuerst steht win damit wird das neue Fenster angesprochen. Und erhält eben den HTML Code der in den Klammern steht. Warum wir das jetzt mir der Variable setzten gemach haben ist ganz winfach. Hätten wir das nicht würde der Text im Hauptfenster stehen, also in dem Fenster das den JS Code enthält, denn das wir von JS immer mit dem Befehl window angesteuert. Soll ein anderes angesteuert werden müssen wir dem einen neuen Namen geben in unserem Beispiel eben "win". Was auch interessant sein könnte ist ein Fenster gleich oder nach ein paar Sekunden wieder zu schliessen. Wir wollen jetzt eine Fenster nach 5 Sekunden wieder schliessen. Das geht wie folgt: function fenster() { var win; win=window.open("", "Welcome", "width=300,height=20"); win.document.write("

Enter the Realms of GHCiF

"); win.setTimeout('window.close()',5000); } So neu ist jetzt der Befehl win.setTimeout('window.close()',5000); Über "win" wird das neu erzeugte fenster angesprochen und über den Befehl setTimeout die Wartezeit festegelegt bis eine neue Aktion folgt. In unserem Beispel oben ist das window.close() und gewartet wird 5000. Die Zahl steht für Millisekunden. Also wird das Fenster nach 5 Sekunden wieder geschlossen. Wer jetzt eine eigen Webseite hat, der kann wenn er ein kleines bisschen nachdenkt mit dem neuen Befhel ja auch einen Sponso Click ansteuern der sich gleich wieder schliesst, ohne das das einer merkt und... ... lassen wir das lieber und gehen zurück zu Arbeit. Unser soeben erzeugtes Fenster hat eine festgelegte grösse die wir nicht verändern können. wenn wir aber den Surfer die möglichkeit geben wollen das neue Fenster in seiner grösse zu verändern schreiben wir folgenden Befehl dazu. win=window.open("", "Welcome", "width=300,height=20,resizable=yes"); So jetzt kann man das Fenster nach belieben verändern. So bisher haben wir immer Fenster per Seite aufrufen gestartet, jetzt wollen wir mal einen cooleren Effekt einführen und das ganze per Mausklick machen So dazu nehmen wir eine unserer Seiten auf denen sich Linkz befinden die noch nicht verlinkt sind mit irgendwelchen Pages. So nehmen wir an wir haben jetzt einen der die MeSSaGe oF THe DaY anzeigen soll. Das machen wir indem wir den oben genannten Code fast genauso verwenden können. Hier seht ihr jetzt den Code und die kleine änderung sollte auffallen. Hier der ganze HTML Code einer solchen Seite: So hier machen wir jetzt einen POPUP Link

So hier machen wir jetzt einen POPUP Link:

MeSSaGe oF THe DaY

Damit das auch mit dem linken hundertprozentig klappt, habe ich die Datei auf der der Link sitzt der dann nur mit einem Popup Window behaftet werden soll auch Link.htm genannt. Also startet der Browser jetzt erst mal die gleiche Seite nochmal und dann kommt das PoPuPWiNDoW. Einfach oder?! Also kommt wie man oben sieht der bis jetzt immer verwendete EventHandler OnLoad nicht zum Zuge, sondern jetzt OnClick. Vor allem den IE Usern müsste jetzt aufgefallen sein das wir einen HTML Tag benutzt haben den der IE garnicht kennt. . Ist richtig, jeder der jetzt mit dem Navigator (ihh) browsed, sieht jetzt eine Blinkende Überschrift. Warum das Micro$oft nicht macht weiss ich selber nicht. Ebenfalls noch interessant für Netscape Seiten wäre den onclick Befehl ändern in on onDblClick also das bei Doppelklick gestartet, bzw gepopupped wird. Das sollte man aber nur machen wenn man die Seite auch explizit für Ntescape User anpreist in dem man das irgendwo in die Page einfügt. So jetzt wollen wir den Code noch ein wenig mehr ausreizen. Indem wir Farben ändern. Das ist auch kein Problem. Also packen wirs an: function fenster() { var win; win=window.open("", "Welcome", "width=300,height=20"); win.document.open ("text/html"); win.document.bgColor="#000000"; win.document.fgColor="#00FF00"; win.document.write("

Enter the Realms of GHCiF

"); win.document.write("

MeSSaGe oF THe DaY

Hier die MeSSaGe oF THe DaY

") win.document.bgColor="#000000"; win.document. fgColor="#00FF00"; } Na ja ok, jetzt sind 3 neue Befehel hinzugekommen. Wie immer werde ich die hiermal erläutern: Nachdem wir das Fenster über window.open erzeugt haben folgt der Befehl win.document.open ("text/html") damit haben wir ein Fenster erzeugt das nur Text wiedergeben kann. Ich weisß oben habe ich den Befehl nicht Extra beschrieben, aber JS erkennt automatisch das es sich um ein Text Only Window handelt. Aber dazu kommen wir später nochmal richtig. So die anderen 2 neuen Befehel die wir eingefügt haben lauten win.document.bgColor="#000000"; <-- BackGroundColor (Hintergrundsfarbe) und win.document.fgColor="#00FF00"; <-- ForeGroundColor (Schriftfarbe) Bei den Zahlen handelt es sich um Hexa Werte die die Farbe bestimmen. Wer seine Pages im TextOnly Editor schreibt der kennt die. Ich selber benutzte aber grafische Oberfläche zum schreiben meiner Pages. Und viele von Euch denke ich auch, denn warum kompliziert wenn es auch einfach geht. Also hier die Hexa Werte für die gebräuchlichsten Farben: AQUA Kobaltblau #00FFFF BLACK Schwarz #000000 BLUE Blau #0000FF FUCHSIA Violett #FF00FF GRAY Grau #7F7F7F GREEN Dunkelgrün #008000 LIME Grün #00FF00 MAROON Kastanienbraun #7F0000 NAVY Marineblau #00007F OLIVE Olivengrün #7F7F00 PURPLE Lila #7F007F RED Rot #FF0000 SILVER Silber #BFBFBF TEA Blaugrün #007F7F WHITE Weiss #FFFFFF YELLOW Gelb #FFFF00 Wenn man jetzt mehrer Fenster aufmachen will. Also für jeden Link ein eigenes Fenster dann muss nur folgender Code verändert werden: function fenster() <--- und zwar hier in fenster2(), fenster3() .... { var win; win=window.open("", "Welcome", "width=300,height=20"); win.document.open ("text/html"); win.document.bgColor="#000000"; win.document.fgColor="#00FF00"; win.document.write("

Enter the Realms of GHCiF

"); win.document.write("

MeSSaGe oF THe DaY

Hier die MeSSaGe oF THe DaY

") win.document.bgColor="#000000"; win.document. fgColor="#00FF00"; } Und natürlich der Textinhalt sowie der ONCLICK Handler. Damit immer das richtige Fenster aufgemacht wird. Am besten Spiel Euch ein bisschen damit... ... ahh wieder da?! Ok dann machen wir mal weiter: Jetzt wenn Ihr rumprobiert habt ist sicher aufgefallen das der Browser nicht zig neue Fenster aufmacht sondern einfach immer das schon offene Fenster neu beschreibt. Das liegt an der Variable win die wir definiert haben. Echte Coder sprechen hier von einer globalen Variable. Aber ich denke das dürfte nicht so wichtig sein. 6. Die einfache PW Abfrage Wir haben ja oben schon sowas wie eine einfach Passwort Abfrage gecoded. Doch jeder der sich nur ein bisschen im Netz auskennt kann das Passwort im Klartext aus dem Quellcode ziehen. Jetz kommen wir zu einer etwas schwereren. Die ist zwar immer noch kein Hinderniss für richtige Hacker, aber für die Kiddies im Netz auf jeden Fall. Einen richtigen PW Schutz erreicht man eigentlich nur über .htaccess oder am besten durch 128 Bit Verschlüsselung in Verbindung mit Java. Aber jetzt kommen wir wieder zum Thema Wir werden jetzt so programmieren das JS erst das PW errechnen und dann mit der Eingabe vergleichten kann. So kommen zwar nicht gerade leicht zu merkende PWs raus, aber PW sollten eh nicht leicht zu merken sein!?! Denke man doch da nur an BrutusAE einem der vielen guten BruteForce Cracker. Unser JScript ermittelt jetzt das PW aus 3 Kompnenten: 1. Der Link Farbe (hier nehmen wir mal gelb) 2. dem Hintergrund der Page (hellblau) 3. dem Titel der Homepage ("Homepage") <-- hässlich und geiler Titel. Das ich das jetzt oben nicht nach GHCiF Layout gemacht habe ist absicht, also nicht wundern sondern einfach machen. Wenn dann genug Hirn vorhanden kann man das selber wieder umändern. Was unser JS jetzt genau macht ist die Einstellungen auslesen, als Text speichern, jeweils 2 Buchstaben herausnehmen und dann zusammensetzten. Fertig ist unser einfaches PW. Wie das jetzt geanu geht? Hier kommt die Lösung: !!! ACHTUNG VOREINSTLLUNGEN BEACHTEN !!! Stellen wir zuerst mal die Farben ein. Das geschieht im BODY TAG: Um jetzt die Farbwerte aulesen zu können gibt es einfach Funktionen. Dafür müssen wir aber erst einmal Variablen definieren. 2 Stück: var d1; var d2; So um jetzt den Farbwert einzulesen beuntzen wir folgenden Code: d1=window.document.bgColor; d2=window.document.linkColor; mmh, aber wir brauchen doch 3 Variablen?? Richtig also definieren wir eben noch eine dritte: var d3; Hier soll der Titel rein also machen wir das d3=window.document.title; Natürlich könneen wir diese Variablen jetzt einfach aneinander addieren und daraus das PW ziehen, aber das wäre dann doch zu einfach. Und vor allem merken können sollten wir uns unser Passwort, doch noch. Also nehmen wir ja nur immer 2 Buchstaben aus jeder Variablen raus und erstellen daruas unser PW. Dazu definieren wir gleich noch 2 Variablen. Wozu? Verrate ich später: var d4; var d5: So nach der Zeile d3=window.document.title; schreiben wir jetzt folgenden Code: d4=d1.substring(3,5)+d2.substring(0,2)+d3.substring(1,3); Kompliziert? Ok, dann "Bring mich Kerze ALI ! ! ! " - bring ich mal Licht ins Dunkle Wir verwenden hier die JS Funktion substring. Diese ermittelt Buchstaben. Am Anfang steht d1.substring(3,5); d1 enthält den Code aus BGCOLOR. Wir holen uns aus diesem Wert mit diesem Code die Buchstaben 4 bis 6. Wieso nicht 3 bis 5? Ganz einfach Java fängt bei 0 nicht bei 1 das zählen an. So daraus werden jetzt nicht 3 sondern 2 Buchstaben ermittelt. Laut Java Zählung jetzt der 3. und 4. So und Java kennt jetzt von bis. Wobei der VON mitgenommen wird aber der Bis nicht. Daraus kommt folgendes raus. #0080FF 0123456 <- hier nochmal Java Zählweise. Also Bei Java zählen 3 und 4 1234567 <- normale Zählweise ergibt 4 und 5 Also ist das Ergebnis "80" Ich habs auch erst nicht gecheckt, aber einfach so oft durchlesen bis es klar wird. So kommen wir jetzt zu d2.substring(0,2). Hier wollen wir den 1. Buchstaben und den 2. (Laut Jave 0-2, also 0 und 1). Der gespeicherte Wert ist ja #FFFF80. Also ist unser Ergebnis #FFFF80 0123456 <- Java Zählung 1234567 <- normal Zählweise Ergebnis #F So ich hoffe ich konnte das jetzt so verständlich darstellen. Wenn nicht entweder nochmal lesen und druchdenken oder ein kleine Päckchen Gehirn bei ALDI kaufen. So jetzt noch zum d3.substring(1,3); hier wollen wir den 2. und 3. Buchstaben haben (lt. Java 1 und 2) also OM. Daraus ergibt sich ja wie man oben sehen kann folgende Rechnung: 80 + #F + OM Ergebnis: 80#FOM das ist unser d4. Also haben wir mit d4 schon einmal das Passwort definiert. So jetzt haben wir noch eine 5. Variable übrig. Die benutzten wir damit unser Script nicht auch noch zwischen gross und klein unterscheidet. Sondern einfach das PW gross macht. So das unser PW nicht 80#fom,80#Fom oder sonst wie lautet sondern 80#FOM. Das machen wir wiefolgt: d5=d4.toUpperCase(); So und dann packt das mal alles ins HTML rein. Erst dann weiterlesen... .... ....... ......... Was schon fertig? OK, wenn das jetzt so ziemlich wie der Code hier aussieht müsste es funktionukeln: Homepage So wenn jetz der Code so ausgesehen hat dann habt Ihr den Guide bis jetzt entweder kapiert oder einfach nur kopiert. Wenn nicht dann lest den Guide nochmal oder denkt ein wenig mit!!! Verändert Ihr jetzt die Zeilen BGCOLOR, LINK oder den Text zwischen ändert sich auch das Passwort. Was nur jetzt ein wenig dumm ist an dem Passwortschutz ist, der Surfer kann so oft er will ein Passwort eingeben. Und er bleibt mehr oder weniger auf der Page gefangen. Das sollten wir auch noch ändern indem wir ihn nach 3. Versuchen dahin zurückschicken wo der Pfeffer wächst. Ok, vielleicht nicht ganz so krass, aber immer hin dahin zurück wo er vorher war. Die Änderungen die wir vornehmen müssen sind auch nicht gerade viele: Homepage So beim IE 5.xx passierts jetzt meistens das bei 3 maliger Eingabe der IE ganz einfach vereckt und sich aufhängt. Vielleicht nicht unbedingt beabsichtigt aber ich finds trotzdem cool. So, jetzt wirds im Notepad langsam eng und ich denke mal ganz einfach jetzt auf eine 2. Datei zu gehen, denn ich kann ja nicht erwarten das jeder der den Guide hier liest auch ein gecracktes Notepad zur Verfügung hat. Oder etwa schon?! Also dann sehen wir uns in Teil II wieder! Yourz Tha Tactic Webmaster GHCiF --{[ Web Page: HTTP://www.GHCiF.de ]}-- --{[ E-Mail: Tha-Tactic@GHCiF.de ]}-- --{[ Mirc: ! Siehe Page ! ]}--