Bencun: Opera!

Hallo,

Surft mal zu http://de.geocities.com/tripple0_6/javascript/nav3.htm, und zwar mit den Broswern NS6.x,NS4.x und IE! Ihr seht, überall sieht es gleich aus und funktioniert überall auch gut! Und nun Opera! Der funktioniert wiedermal nicht! Beinahe alle meine Scripte funktionieren nicht mit Opera! An was liegt das?
Wie indentifiziere ich eigentlich Opera?

IE : if(document.all)...
NS4 : if(document.layers)...
NS6 : if(document.getElementById && !document.all)..
Opera: if(???)...

Und nun noch zu was ganz anderem: Wie lerne ich am besten Java? Javascript kam mehr oder weniger automatisch (mit Selfhtml), doch bei Java-Apllets habe ich noch nicht einmal einen Ansatz! http://www.selfjava.de hat noch nicht so viel auf Lager!

Und noch was. Gibt es eine Möglichkeit in Netscape, Rahmen dicker zu machen als thin (border:blue thin solid;)?

So, das wars fürs erste! Besten Dank,

Tripple0_6

  1. Surft mal zu http://de.geocities.com/tripple0_6/javascript/nav3.htm, und zwar mit den Broswern NS6.x,NS4.x und IE! Ihr seht, überall sieht es gleich aus und funktioniert überall auch gut!

    Kann ich nicht feststellen. Mein Netscape kann die Datei http://de.geocities.com/tripple0_6/javascript/c:/zelda/index//javas/hoverlink.css nicht finden, es kommt eine fette GeoCities-Fehlermeldung.

    Und Opera zeigt darum wahrscheinlich auch nichts ordentlich an, aber immerhin keine Fehlermeldung.

    Und nun Opera! Der funktioniert wiedermal nicht! Beinahe alle meine Scripte funktionieren nicht mit Opera! An was liegt das?

    Krieg erstmal den Link-Fehler korrigiert... :)

    Wie indentifiziere ich eigentlich Opera?

    IE : if(document.all)...
    NS4 : if(document.layers)...
    NS6 : if(document.getElementById && !document.all)..
    Opera: if(???)...

    ...identifizierst du genauso wie Netscape 6.

  2. gruss Bencun,

    Beinahe alle meine Scripte funktionieren nicht mit Opera! An was

    liegt das?

    er ist halt etwas eigen;
       durchstoebere einfach mal die letzten 2/3 monate unter:
       http://www.teamone.de/selfaktuell/forum/archiv/2001/
       suche dort nach "opera" und lies mal nach;

    Wie indentifiziere ich eigentlich Opera?
    IE : if(document.all)...
    NS4 : if(document.layers)...
    NS6 : if(document.getElementById && !document.all)..
    Opera: if(???)...

    den musst Du direkt aus dem [navigator.userAgent] rauslesen,
       da ein opera benutzer einstellen kann, wie sich der browser
       identifizieren darf und zumindest der opera5 (opera < 5 hab'
       ich im moment nicht auf dem rechner) sowohl
       (document.getElementById) als auch (document.all) akzeptiert;

    probier mal das hier - die zurueckgelieferten angaben sollten eigentlich stimmen:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>

    <head>
    <title>script-libraray: teil [01] -  c l i e n t P r o p e r t i e s - object</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    /* teil [01] -  c l i e n t P r o p e r t i e s - object  /  script-library  */
    /*
     * stand : 14.august 2001
     * autor : Peter Seliger - pseliger@gmx.net
     *
     * inhalt: das [clientProperties]-objekt liefert informationen zu den gaengigsten
     *   browsern und betriebssystemen (NNAV,MSIE,Opera,Mozilla / win,mac,unix/linux)
    */

    //alert(navigator.language);
    //alert(navigator.browserLanguage);
    //alert(navigator.appName);
    //alert(navigator.appVersion);
    //alert(navigator.userAgent);

    // begin: C L A S S - [clientProperties]
    //
    // C O N S T R U C T O R
    function clientProperties() {
     this.isNN3 = (((document.images) ? true : false) && !((document.layers) ? true : false) && !((document.all) ? true : false) && !((document.getElementById) ? true : false)); //alle Netscape 3.x und AEHNLICHE mit den gleichen eigenschaften !!!
     this.isNN4 = ((document.layers) ? true : false); //alle Netscape 4.x
     this.isNN6 = (((document.getElementById) ? true : false) && !((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("gecko") >= 0) && (navigator.userAgent.toLowerCase().indexOf("netscape6") >= 0)); //Netscape 6.x   - unterscheidung wegen unterschiedlich interpretierten schriftgroessen - NN4/NN6 faellt aus dem rahmen: [ (font-size)++ ]
      this.isMO = (((document.getElementById) ? true : false) && !((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("gecko") >= 0) && (navigator.userAgent.toLowerCase().indexOf("netscape") == -1)); //Mozilla 0.9.x/1.x; - unterscheidung wegen unterschiedlich interpretierten schriftgroessen - MO als auch OP und IEx interpretieren korrekt
     this.isIE4 = (((document.all) ? true : false) && !((document.getElementById) ? true : false)); //Microsoft Internet Explorer 4.x
     this.isIE5 = (((document.getElementById) ? true : false) && ((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("msie 5") >= 0) && (navigator.userAgent.toLowerCase().indexOf("opera") == -1)); //Microsoft Internet Explorer 5.x
     this.isIE6 = (((document.getElementById) ? true : false) && ((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("msie 6") >= 0) && (navigator.userAgent.toLowerCase().indexOf("opera") == -1)); //Microsoft Internet Explorer 6.x
     this.isOP4 = (((document.getElementById) ? true : false) && ((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("opera 4") >= 0)); //Opera 4
     this.isOP5 = (((document.getElementById) ? true : false) && ((document.all) ? true : false) && (navigator.userAgent.toLowerCase().indexOf("opera 5") >= 0)); //Opera 5
     this.isWin = (navigator.userAgent.toLowerCase().indexOf("win") >= 0);
     this.isMac = (navigator.userAgent.toLowerCase().indexOf("mac") >= 0);
     this.isX11 = ((navigator.userAgent.toLowerCase().indexOf("x11") >= 0) || (navigator.userAgent.toLowerCase().indexOf("linux") >= 0));
    }
    //
    // end: C L A S S - [clientProperties]

    // nur zum testen der klasse
    var client = new clientProperties();

    function clientPropertiesDraw() {
     var clientFontSize = ((client.isNN4 || client.isNN6) ? 3 : 2);
     var string = ''+
     '<font face="verdana,helvetica,geneva,arial,sans-serif">\n<table cols="2" rows="' + (client.length+1) + '" width="100" cellspacing="0" cellpadding="3" bordercolor="#000000" border="1">\n'+
     '<tr><td nowrap><font size="' + (clientFontSize+1) + '" color="#ffaa00"><b>[object].properties</b></font></td><td nowrap><font size="' + (clientFontSize+1) + '" color="#ffaa00"><b>dieses system</b></font></td></tr>\n';
     for (prop in client) {
      string += '<tr><td nowrap><font size="' + clientFontSize + '" color="#9f5f00"><b>client.' + prop + '</b></font></td><td nowrap><font size="' + clientFontSize + '" color="#ff7f00"><b>' + client[prop] + '</b></font></td></tr>\n';
     }
     string += '</table>\n</font>';
     return string;
    }
    // nur zum testen der klasse
    //-->
    </script>
    </head>

    <body>
    <script language="JavaScript" type="text/javascript">document.write(clientPropertiesDraw());</script>
    </body>

    </html>

    tschuess und by(t)e by(t)e  - peterS. - pseliger@gmx.net

  3. Hallo,

    Nein, mal im Ernst:

    Surft mal zu http://de.geocities.com/tripple0_6/javascript/nav3.htm, und zwar mit den Broswern NS6.x,NS4.x und IE! Ihr seht, überall sieht es gleich aus und funktioniert überall auch gut! Und nun Opera! Der funktioniert wiedermal nicht! Beinahe alle meine Scripte funktionieren nicht mit Opera! An was liegt das?

    Den Fehler mit Netscape hab ich behoben!

    Den Rest kann ich übernehmen

    Und nun noch zu was ganz anderem: Wie lerne ich am besten Java? Javascript kam mehr oder weniger automatisch (mit Selfhtml), doch bei Java-Apllets habe ich noch nicht einmal einen Ansatz! http://www.selfjava.de hat noch nicht so viel auf Lager!

    Und noch was. Gibt es eine Möglichkeit in Netscape, Rahmen dicker zu machen als thin (border:blue thin solid;)?

    So, das wars fürs erste! Besten Dank,

    Tripple0_6

    1. Den Fehler mit Netscape hab ich behoben!

      JavaScript Error: http://de.geocities.com/tripple0_6/javascript/nav3.htm, line 148:
      yfnEA is not defined.

      JavaScript Error: http://de.geocities.com/js_source/ygNSLib9.js?v3, line 187:

      function does not always return a value.

      }
      ^

      Außerdem ist dein Stylesheet nicht korrekt: http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fde.geocities.com%2Ftripple0_6%2Fjavascript%2Fnav3.htm&warning=2&profile=css2

      Dein HTML ist leider mangels DOCTYPE auch nicht validierbar - das sind alles Dinge, die ultimativ wichtig sind, um z.B. Verschachtelungsfehler auszuschließen.

      Abgesehen davon solltest du deinen Javascript-Code mal ordentlich EINRÜCKEN, sonst blickt man ja überhaupt nicht mehr durch, welche Klammer jetzt wo wieder geschlossen wird und welche Bedingung wofür gilt. Ich hab' jetzt keine Lust, da ungefähr 'ne Stunde in deinem Code rumzufummeln, nur damit er lesbar wird.

      - Sven Rautenberg

      1. Hallo,

        JavaScript Error: http://de.geocities.com/tripple0_6/javascript/nav3.htm, line 148:
        yfnEA is not defined.

        kenn ich nicht

        JavaScript Error: http://de.geocities.com/js_source/ygNSLib9.js?v3, line 187:
        function does not always return a value.
        }
        ^

        kenn ich auch nicht,

        Außerdem ist dein Stylesheet nicht korrekt: http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fde.geocities.com%2Ftripple0_6%2Fjavascript%2Fnav3.htm&warning=2&profile=css2

        funktioniert doch ganz gut mit den styles,

        Dein HTML ist leider mangels DOCTYPE auch nicht validierbar - das sind alles Dinge, die ultimativ wichtig sind, um z.B. Verschachtelungsfehler auszuschließen.

        Was hat es eigentlich mit diesem DOCTYPE auf sich? Ich weiss nicht mal, wofür das gut ist!

        cu,

        Bencun

        1. Moin

          Außerdem ist dein Stylesheet nicht korrekt: http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fde.geocities.com%2Ftripple0_6%2Fjavascript%2Fnav3.htm&warning=2&profile=css2
          funktioniert doch ganz gut mit den styles,

          Bitte verwende niemals "funktioniert doch ganz gut" als Entschuldigung für einen Fehler. Es mag ganz gut funktionieren in den Browsern in denen du es getestet hast - wobei ich noch nicht mal das glaube - aber das ist sicher nicht die Mehrheit der Browser. Unter dem von Sven angegebenen URL findest du doch eine schöne Auflistung aller deiner Fehler und sogar ein fertig gesäubertes CSS. Korrigier es einfach, und schon wird es in allen Browsern gehen, die sich an den Standard halten.

          Was hat es eigentlich mit diesem DOCTYPE auf sich? Ich weiss nicht mal, wofür das gut ist!

          --> http://www.teamone.de/selfhtml/tcab.htm#a2

          Der Absatz ist übrigens nicht mehr ganz aktuell. Die Angabe des doctype hat mittlerweile im NS 6/Mozilla und Gerüchten zufolge auch im IE 6 einen Einfluß auf die Darstellung der Seite.
          Setze also einen geeigneten DOCTYPE, validier deine Seiten mit http://validator.w3.org und schon dürftest du mit keinem standardkompatiblen Browser Probleme haben.

          --
          Henryk Plötz
          Grüße von der Ostsee

  4. Hallo Bencun

    Beinahe alle meine Scripte funktionieren nicht mit Opera! An was liegt das?

    weil Opera kein Browser sondern ein Ärgernis ist, :-)
    genauer, weil Opera diesbezüglich einfach begrenzt ist

    Wie indentifiziere ich eigentlich Opera?

    if (window.opera)

    Diese Abfrage an den Anfang setzen, dann ist es unabhängig von den Einstellungen.

    Viele Grüße

    Antje

    1. Hallo Antje,

      weil Opera kein Browser sondern ein Ärgernis ist, :-)

      was machen wir nun?
      Also Opera ist bei JavaScript "etwas" schwach auf der Brust.
      Der MSIE scheitert zuvor schon an HTTP, ist also auch kein Browser.
      Mozilla ist noch im Betastadium und NC6.x mit seinem AOL-Klimbim
      wird durch eine andere Versionszahl auch nicht gleich zu einem
      fertigen Browser.

      Sollte etwa doch NC4.x der einzig wahre (aktuelle) Browser sein? *g*

      MfG, Stefan

      1. Hallo Stefan

        Also Opera ist bei JavaScript "etwas" schwach auf der Brust.
        Der MSIE scheitert zuvor schon an HTTP, ist also auch kein Browser.

        hm, auch im HTTP-Bereich ist Opera schwach
        ganz übel nehme ich ihm, dass er auch anerkannte Sicherheitsstandards wie z.B.  das (nichtgestattete) Vorbelegen von Fileuploadfelder ignoriert

        Sollte etwa doch NC4.x der einzig wahre (aktuelle) Browser sein?

        im Vergleich zu Opera ja

        Viele Grüße

        Antje

        1. Hallo,

          was haltet Ihr denn vom Konqueror?

          Reiner

      2. Also Opera ist bei JavaScript "etwas" schwach auf der Brust.
        Der MSIE scheitert zuvor schon an HTTP, ist also auch kein Browser.

        Sehr lustig.. vor allem da mittlerweile ein LINUX-Magazin empfiehlt IE zu nehmen.. man käme damit und mit VMWARE besser und schneller zurecht wie mit NS.. würde sich an mehr Standards halten

        (z.b. auch an eigene früher definierte Schriftstandards.. probier mal mit dem 6er NS Schriften runterzuladen die für den 4er NS downloadbar gemacht wurden...)

  5. hallo Tripple0_6,

    (muß ja wohl eine schwere heimniederlage gewesen sein *grins*)

    nav3.htm funktioniert bei mir (opera 5.12, win98), sieht nur etwas anders aus als in IE und NN. dafür wird das layout des navigationsframes auf der hauptseite ziemlich zerstückelt.

    was meinst du dort übrigens mit

    <zitat>
    Die gesamte Site ist nun auch im Netscape sichtbar (vorher war nur ein weiser Bildschirm)
    </zitat>

    als script-verweigerer nehm' ich das mal wörtlich ;-)

    habe tatsächlich nur eine weiße seite gesehen. du solltest eine alternative für paranoiker wie mich schaffen, siehe
    </selfhtml/tclb.htm#a2> bevor du an deinen dhtml-menüs weiterarbeitest.

    gruß
      roland

  6. Moin

    Und nun noch zu was ganz anderem: Wie lerne ich am besten Java? Javascript kam mehr oder weniger automatisch (mit Selfhtml), doch bei Java-Apllets habe ich noch nicht einmal einen Ansatz! http://www.selfjava.de hat noch nicht so viel auf Lager!

    Ich kann immer nur wieder "Java ist auch eine Insel" von Christian Ullenboom empfehlen: http://www.java-tutor.com/javabuch/. Das ist kostenlos und richtig gut, vielleicht etwas umfangreich. Da wird auch für den Einsteiger gut erklärt was es mit Objektorientierter Programmierung auf sich hat, und auch für den Fast-Profi geht es dann gut und sehr detailliert weiter. Das Buch wird ständig erweitert und lässt sich kostenlos runterladen, wird jedoch bald auch in gedruckter Form zu kaufen sein.

    --
    Henryk Plötz
    Grüße von der Ostsee