Zum Inhalt springen

Rohde

Mitglieder
  • Gesamte Inhalte

    441
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Rohde

  1. Beispieldokumentationen findest Du bei suicidal.de unter Unterlagen/Prüfungen. Direktlink
  2. <div style="position:absolute;left:0px;bottom:0px;">Inhalt</div>
  3. Ich glaube nicht, daß dieses Verhalten künstlich herbeigeführt wurde. Vielmehr liegt es wohl im Bereich Netzwerkschwankung oder ähnlichem. Auch frage ich mich, was das bringen soll. Sämtliche Daten, die man bereits auf dem Bildschirm sehen kann (und das ist ja der Sinn von Webseiten) befinden sich eh bereits lokal im Browser-Cache (und sind somit bereits heruntergeladen). Es gibt nur eine wirkungsvolle Methode, Deine Inhalte vor ungewünschtem Herunterladen zu schützen: Stell sie nicht ins Netz!
  4. Rohde

    Menü wie im Explorer

    Ich glaube, er meint eher das Tree-Menü. http://www.scriptindex.de/cgi-bin/jump.cgi?ID=1035 http://www.js4all.de/java/exp1/exm.html Sollte doch das andere gemeint sein, sieh Dir das hier mal an.
  5. Rohde

    Javascript fehler!

    Gesucht wird ein Objekt mit dem Namen "windows", welches aber noch nicht erstellt wurde. Ersetz es einfach durch "self". Dann klappt's.
  6. Lesenswert: http://www.heise.de/tp/deutsch/special/auf/14151/1.html
  7. <input type="button" value="Inhalt drucken" onClick="printversion()">
  8. Das ließe sich entweder über SSI (steht leider auch nicht überall zur Verfügung) oder per Javascript (document.write, was aber auch nicht sonderlich toll ist, obwohl ich es selbst auch auf meiner, schon sehr lange nicht mehr aktualisierten Homepage einsetze).
  9. Probier das mal aus. Ich habe es gerade mal zusammengestrickt und mit dem IE, Konqueror und Phoenix ausprobiert. Hat alles geklappt. Die Funktion css(), genauso wie die beiden Aufrufe dieser Funktion sind für das Beispiel natürlich völlig irrelevant. index.htm: <html> <frameset rows="30,*" framespacing=0 frameborder=0 border=0> <frame src="oben.htm" name="oben" scrolling=no> <frame src="about:blank" name="unten"> </frameset> </html> Was passiert hier also: Es wird ein Frameset aufgebaut, dessen Frames die Namen "oben" und "unten" tragen. Um nicht noch eine Datei erstellen zu müssen, wird in "unten" erst einmal gar nichts geladen (about:blank). oben.htm: <html> <script> var written=0; function menutitle() { // Definition der Menütitel menutitle = new Array("Menü 1","Menü 2","Menü 3"); // Ausgabe der Menütitel in den oberen Frame for(i=0;i<menutitle.length;i++) { document.write("<div style='position:absolute;left:"+(50+i*100)+"px;top:14px;width:99px;background-color:#666666;text-align:center'><b><a href='Javascript:showmenu("+i+");'>"+menutitle+"</a></b></div>"); } } function showmenu(id) { if(written==0) { writemenu(); } for(i=0;i<menu.length;i++) { parent.frames["unten"].document.getElementById("menu"+i).style.visibility="hidden"; } parent.frames["unten"].document.getElementById("menu"+id).style.visibility="visible"; } function writemenu() { // Definition der Menüeinträge und URLs menu = new Array(); menu[0]=new Array("M1L1","M1L2","M1L3"); menu[1]=new Array("M2L1","M2L2","M2L3","M2L4"); menu[2]=new Array("M3L1","M3L2"); url = new Array(); url[0]=new Array("m1l1.htm","m1l2.htm","m1l3.htm"); url[1]=new Array("m2l1.htm","m2l2.htm","m2l3.htm","m2l4.htm"); url[2]=new Array("m3l1.htm","m3l2.htm"); // Ausgabe der Menüs in den unteren Frame for(i=0;i<menu.length;i++) { parent.frames["unten"].document.write("<div id='menu"+i+"' style='position:absolute;padding-left:5px;left:"+(50+i*100)+"px;top:0px;width:99px;background-color:#888888;visibility:hidden;'>"); for(t=0;t<menu.length;t++) { parent.frames["unten"].document.write("<a href='"+url[t]+"'>"+menu[t]+"</a><br>"); } parent.frames["unten"].document.write("</div>"); } written=1; } function css(frame,bgcol) { // Ausgabe der StyleSheets parent.frames[frame].document.write("<style>body{background-color:#000000;font-family:Arial,Helvetica;font-size:12px;margin:0px;}a{text-decoration:none;color:#cccccc;}a:hover{color:#ffffff;}</style>"); } css("oben"); css("unten"); menutitle(); </script> <body> </body></html> Die Datei oben.htm definiert als erstes die globale Variable "written", mit der geprüft wird, ob die Menüs im Frame "unten" bereits geschrieben worden sind. Anschließend wird die JS-Funktion menutitle() gestartet, die im oberen Frame drei Links erzeugt. Nach einem Klick auf einen dieser Links wird die Funktion showmenu() aufgerufen, die zuerst die Variable "written" abfragt. Da diese anfangs auf 0 (=>Menüs noch nicht geschrieben) gesetzt wurde, wird die Funktion writemenu() aufgerufen, die die Menüs in den Frame "unten" schreiben und mittels css verstecken. Anschließend wird "written" auf 1 (=>Menüs sind geschrieben) gesetzt, so daß beim nächsten Klick auf einen der Menüpunkte im Frame "oben" die Menüs nicht noch einmal geschrieben werden. Anschließend werden alle Menüs versteckt und nur das gewünschte Menü angezeigt. Alle Links und Linkbezeichnungen stehen in den Arrays menutitle, menu und url. Wo liegen jetzt die Schwächen bei dieser Demo? Nun, wenn man einen Link in einem Menü anklickt, wird die entsprechende Seite aufgerufen. Dadurch verschwinden aber die in den Frame "unten" geschriebenen Menüs. Die Variable "written" steht aber immer noch auf 1. Demnach gibt es hinter keine Möglichkeit mehr, ein Menü aufzurufen. Und warum habe ich das nicht gleich richtig gemacht, bevor ich das hier gepostet habe? Mal abgesehen davon, daß ich keine Lust mehr habe, mich weiter damit zu beschäftigen, liegt es doch auf der Hand, daß sich Deine Frage mit einem simplen parent.frames["unten"].document.write() hätte beantworten lassen. Außerdem würde man in der Realität ein solches Konstrukt sowieso nicht einsetzen. Was kannst Du also tun? Die Funktion css() und deren aufrufe schmeißt Du raus und benutzt eine externe css-Datei, die man sowieso auf jeder Seite einbinden sollte. Falls Dir PHP (oder ähnliches) zur Verfügung steht, würde ich das, was die Funktion writemenu() tut einfach in eine eigene HTML-Datei schreiben und ebenfalls auf jeder Seite includieren. Dadurch kannst Du Dir den ganzen Murks mit "written" sparen, da die Menüs dann sowieso immer vorhanden sind. Sollte Dir PHP nicht zur Verfügung stehen, nimmst Du den Inhalt der writemenu()-Funktion, steckst ihn in eine externe js-Datei und fügst in jede Deiner Seiten <script src="writemenu.js"></script> ein. Dadurch erreichst Du das gleiche. Was hast Du dann noch? Viele Seiten, die die StyleSheets anziehen und das versteckte Menü includieren (auf welche Art auch immer) und einen oberen Frame, in dem die einzelnen Links die Funktion showmenu() aufrufen, die Du auch um die written-Abfrage kürzen kannst. Viel Spaß damit.
  10. Du könntest folgendes tun (nur IE): <html> <head> <script> function printversion() { a = document.all.inhalt.innerHTML; b = window.open('about:blank'); b.document.open(); // Hier kann man über b.document.write beispielsweise noch CSS einbinden b.document.write(a); b.document.close(); b.print(); b.close(); } </script> </head> <body> Das hier wird nicht gedruckt. <div id="inhalt"> Das hier wird gedruckt. </div> <a href="javascript:printversion();">Inhalt drucken</a> </body> </html> Alternativ könntest Du aber auch einfach vor und hinter Deinen Druckbereich Kommentare einfügen <!-- DRUCK START --> und <!-- DRUCK ENDE --> und dann nach Anklicken des Drucken-Buttons auf Deiner Webseite ein PHP-Skript aufrufen, welches mittels fopen und fgets die Seite nach diesen Kommentaren abklappert und alles dazwischen ausgibt. Das hat dann sogar den Vorteil, daß es unabhängig vom Browser ist.
  11. Rohde

    Quelltext

    Nun ja, man könnte mittels Javascript folgendes tun: <script> pwd = prompt("Passwort",""); location.href=pwd+".htm"; </script> Die Funktion fragt ein Kennwort ab und leitet anschließend auf eine Seite weiter, die genau so heißt, wie das Kennwort (+.htm). Ist das Kennwort falsch, gibt es immer einen 404 (Seite nicht gefunden). Kennt man das Kennwort nicht, artet es dann in ein Ratespiel aus. Wenn das Kennwort dann auch noch eine zufällig Anordnung irgendwelcher Zeichen ist (z.B.: 3Jk7ps89BNShs_dde) und eine entsprechende Länge aufweist, wird man es relativ schwer haben, es zu erraten. So lassen sich zumindest unbedarfte Benutzer von den Seiten fernhalten. Die .htacess-Methode, die MsB vorgeschlagen hat, ist aber bedeutend sicherer.
  12. Optik hat relativ wenig bis gar nichts mit divs oder frames zu tun. Da entscheidet sowieso der persönliche Geschmack. Und wie Du unter hier sehen kannst, kann man auch mittels divs Scrolling auf die Seite bringen. Divs haben dazu noch den Vorteil, daß sie sich meiner Meinung nach flexibler handhaben lassen. Es ist kein Problem, die div-Bereiche einfach mal auszublenden oder zu verschieben. Ein schönes Beispiel für ein nützliches div wäre beispielsweise: <div style="visibility:hidden;"><a href=...>Nur Text-Version benutzen</a></div> Das wird zum Beispiel benutzt, um Usern, die mit ScreenReadern oder Braille-Zeilen (=> Menschen mit Sehbehinderung) im Web unterwegs sind, eine reine Textversion anzubieten. Dem ScreenReader ist es völlig egal, ob das div nun mittels css unsichtbar gemacht wurde. Der Link wird vorgelesen und der Benutzer kann entscheiden. Standardbrowser zeigen das nicht an und geben dem Benutzer die mit Grafiken, Flash-Animationen und verschachtelten Tabellen angereicherte Webseite aus. Versuch mal auf einer Frameseite mit einem ScreenReader oder einer Braille-Zeile vernünftig zu surfen. Alternativ kannst Du auch einen Text-Browser wie z.B. Lynx oder Links benutzen. Du wirst feststellen, daß das keinen Spaß macht.
  13. Rohde

    HTML Frames

    Wenn ich das richtig sehe, bekommst Du drei Spalten, wobei die mittlere in drei Zeilen aufgeteilt ist. Du wolltest wohl aber das: <frameset rows="125,*,100"> <frame src="oben.htm"> <frameset cols="250,550,*"> <frame src="links.htm"> <frame src="mitte.htm"> <frame src="rechts.htm"> </frameset> <frame src="unten.htm"> </frameset>
  14. Oh, da trifft SelfHTML 8.0 ja zwei verschiedene Aussagen zu ein und demselben Punkt: "wenn die Datei geladen ist..." und "wenn eine HTML-Datei geladen wird" Übrigens sollte das mit dem Smily im Code in meinem letzten Posting javascript:printversion() heißen, habe nur vergessen, diese verdammten Mistdinger abzuschalten.
  15. Ich gehe davon aus, daß es auf jeder Seite die Möglichkeit gibt, einen Button anzuklicken, über den eine druckversion.php aufgerufen wird. Wenn man der Meinung ist, daß es sich lohnt, die Seite auszudrucken, sind die Bilder bereits übertragen. Und in der druckversion.php steht dann halt als letztes das Javascript drin. Apropos Javascript. Damit geht es übrigens auch (zumindest mit dem Internet Explorer): <html> <head> <script> function printversion() { a = document.all.inhalt.innerHTML; b = window.open('about:blank'); b.document.open(); // Hier kann man über b.document.write beispielsweise noch CSS einbinden b.document.write(a); b.document.close(); b.print(); b.close(); } </script> </head> <body> Das hier wird nicht gedruckt. <div id="inhalt"> Das hier wird gedruckt. </div> <a href="javascript:printversion();">Inhalt drucken</a> </body> </html>
  16. Und noch zum Verständnis: PHP wird auf dem Server ausgeführt, Javascript auf dem Client. Was Du höchstens machen könntest, wäre per Javascript die Seite über location.href neu aufzurufen und dabei an die aufgerufene Adresse entsprechende Variablen dranhängen. Dann sollte Dein PHP-Skript aber berücksichtigen, ob die Variablen, die Du dort benutzt nicht schon (durch das Javascript) existieren. Beispiel index.php: <html> <body> <? if(!isset($a)) { $a=1; } echo $a."<br>"; ?> <a href="javascript:location.href='index.php?a=5';">Seite neu aufrufen</a> </body> </html>
  17. Laut SelfHTML wird onLoad ausgeführt, "wenn eine HTML-Datei geladen wird". Aber ich weiß gar nicht, wo das Problem ist. Setz doch einfach unter Deine Druckversion noch <script> window.print(); </script> PHP erzeugt dann die Druckversion und führt anschließend das JavaScript aus.
  18. Oh, stimmt. Da habe ich etwas geschlampt. http://www.aspemail.com/
  19. Rohde

    Problem mit Leer-Gifs

    Deine Annahme ist mit Sicherheit falsch. Dem Browser ist es völlig egal, wie groß eine Datei ist. Als Lösung schlage ich vor, daß Du auf blank.gifs verzichtest. Ich schätze mal, daß Du die einsetzt, um andere Elemente zu positionieren. Benutz dafür lieber CSS.
  20. Rohde

    JavaScript Problem

    Theoretisch sollte document.Formular.getElementsByName("Anzahl"+Index).value funktionieren.
  21. Die einzig wirksame Methode, Bilder zu schützen ist, sie gar nicht zu veröffentlichen. Alles andere läßt sich durch Auslesen des Browser-Caches, Abschalten von Javascript (rechte Maustaste) oder einem simplen Screenshot umgehen.
  22. Rohde

    Tabellenrahmen

    Versuch es mit <table style="border:1px solid #000000;"> ...
  23. In Photoshop 5 mußte man, um GIFs zu erzeugen, die Grafik exportieren ("Datei/Exportieren"). Unter Photoshop 6 geht das über "Datei/Speichern" unter oder alternativ unter "Datei/Für Web speichern". Ich gehe mal davon aus, daß sich das in Version 7 nicht geändert hat. Zum Erstellen von GIF-Animation nimmt man natürlich ImageReady oder den Ulead GIF Animator, wobei ich aber ImageReady bevorzuge.
  24. Mit <layer src=xxx.htm> sollte es zumindest unter Netscape 4.x klappen. Sie dazu auch den entsprechenden Abschnitt aus SelfHTML.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...