Zum Inhalt springen

Rohde

Mitglieder
  • Gesamte Inhalte

    441
  • Benutzer seit

  • Letzter Besuch

Beiträge von Rohde

  1. Originally posted by Mr. Bubbles

    Für kommerzielle Systeme würde ich grundsätzlich von der, im privaten Bereich so beliebten PHP/MySQL-Kombination abraten.

    Diese Systeme haben das Problem, dass man keinen (oder nur sehr schwer) Support kriegt, wenn es denn mal Probleme gibt.

    Das stimmt so natürlich nicht ganz. Support für die PHP/MySQL-Kombination zu bekommen ist überhaupt kein Problem. Das ganze Netz ist voll davon. Was viel problematischer ist, ist jemanden rechtlich für Fehler belangen zu können, so daß man als Dienstleister, der dem Kunden diese Kombination verkauft hat, im Tor steht.

    Wir selbst arbeiten übrigens mit Gauss VIP Enterprise, was aber preislich deutlich über dem von nager angepeilten Spielraum liegen dürfte.

  2. Kann man bei Hotmail oder Deinem E-Mail-Client keine Whitelist einrichten, so daß Du nur noch die E-Mails von den Adressen bekommst, die in dieser Liste stehen?

    Ich hatte auch mal einen Hotmail-Account, mußte aber feststellen, daß der, obwohl ich diesen in den ersten Tagen noch gar nicht benutzt hatte und auch die Adresse nicht kommuniziert hatte, bereits völlig zugemüllt war. Das war mein letzter Kontakt mit Hotmail und liegt schon ein paar Jährchen zurück.

  3. Ich gehe dieses Jahr nicht hin. Früher, als Commodore noch den größten Stand hatte, hat es noch Spaß gemacht. Letztes Jahr bin ich nur hin, weil ich eine Freikarte irgendwo abstauben konnte. Vorher habe ich mir einen Plan gemacht, was ich sehen wollte und habe den dann abgeklappert. An den besagten Ständen gab es dann aber leider nicht allzu viel zu sehen bzw. in Erfahrung zu bringen, so daß ich noch einen kleinen Schlenker zu unserem eigenen Stand machen konnte, um den Kollegen noch viel Spaß zu wünschen. Nach nur einer Stunde war ich vom Messegelände wieder runter und bin zur Arbeit gegangen. Die Enttäuschung saß.

    Was ich schade finde, ist, daß sich die Messeleitung in den letzten Jahren ziemlich viel Mühe damit gibt, bestimmte Produktgruppen nicht dabeizuhaben. Wenn ich mich richtig erinner, wurden erst die Hersteller von Joysticks vergrault. Später hat es dann auch Produkte von Creative erwischt. Alles Sachen, die der normale Konsument vielleicht interessant finden könnte. Aber normale Konsumenten sind dort nicht gerne gesehen (mein Eindruck).

  4. 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!

  5. Originally posted by oneside

    Natürlich haben Frames auch Vorteile.

    Wenn Du nur mit <Div> arbeitetst, muss man die Navigation der Seite in jeder Seite der Webseite erneut einfüge. Das wäre schlecht zu pflegen,weil man dann bei einer Änderung der Navigation alle einzelnen Seiten ändern müsste. Das könnte man natürlich mit PhP o.ä. lösen, braucht dann aber auch einen Webserver mit php.

    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).

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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>

  11. 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.

  12. 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>

  13. 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>

  14. 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.

  15. 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.

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...