sunny: Opera erkennen?

Guten morgen!

Ich hab ein Problem mit meinem Navigationsmenü - es ist so ein Popup-Menü (JavaScript) und leider wird dieses von Opera nicht dargestellt. Daher möchte ich alternativ eine Textnavigation anbieten (die ich auch bei ausgeschaltetem JavaScript verwende).

Gibt es irgendeine Möglichkeit, festzustellen, ob der User meine Site mit Opera betrachtet? Weil Opera kann sich ja auch als IE oder NS ausgeben!? Und dann hab ich das Problem, dass mein JavaScript-Code "glaubt", es würde sich um IE etc. handeln, die Navigation funktioniert aber trotzdem nicht! Wie könnte ich das denn lösen?

Lg,
Sunny

PS: Das Menü so umzubauen, dass es auch Opera versteht hab ich bisher auch nicht geschafft - scheint irgendwie unmöglich zu sein :-(

  1. Morgen,

    hast du die Java-Komponenten mitinstalliert ?

    Da sich Opera, wie du schon geschrieben hast, auch als anderer Browser ausgeben kann, dürfte es unmöglich sein den echten IE vom Opera IE fake zu unterscheiden.

    Viele Grüße
    Torwächter

    1. Morgen,

      hast du die Java-Komponenten mitinstalliert ?

      Ja, die sind mitinstalliert! Andere JavaScript Codes interpretiert auch ganz "brav", nur das Menü funzt auf meiner (und auch vielen anderen Seiten mit solchen Navis) leider nicht.

      Lg,
      sunny

    2. Hi,

      Da sich Opera, wie du schon geschrieben hast, auch als anderer
      Browser ausgeben kann, dürfte es unmöglich sein den echten IE
      vom Opera IE fake zu unterscheiden.

      in den UserAgent-Strings von Opera steht aber in jedem Falle "Opera" drin - und manchmal "Opera ", manchmal "Opera/", dadurch kann man sogar auf einfache Weise unterscheiden, ob er sich getarnt hat oder nicht.

      Viele Grüße
            Michael

  2. Hoi,

    Gibt es irgendeine Möglichkeit, festzustellen, ob der User meine
    Site mit Opera betrachtet? Weil Opera kann sich ja auch als IE oder
    NS ausgeben!? Und dann hab ich das Problem, dass mein
    JavaScript-Code "glaubt", es würde sich um IE etc. handeln, die
    Navigation funktioniert aber trotzdem nicht! Wie könnte ich das denn
    lösen?

    Opera definiert in jedem Fall die Objekts-Eigenschaft 'window.opera'.

    PS: Das Menü so umzubauen, dass es auch Opera versteht hab ich
    bisher auch nicht geschafft - scheint irgendwie unmöglich zu
    sein :-(

    Kommt drauf an, was du machen willst. Wenn du nur ein bisschen Layer
    verschiebst, ist es moeglich. Aber anspruchsvollere Sachen werden
    schnell unmoeglich, ja.

    Gruesse aus MS,
     c.j.k

    1. Hoi,

      Opera definiert in jedem Fall die Objekts-Eigenschaft 'window.opera'.

      Jetzt steh ich irgendwie auf der Leitung ... ich frag also nicht appVersion sondern window ab!?!? Wie das?

      Liebe Grüße,
      sunny

      1. Hoi,

        Opera definiert in jedem Fall die Objekts-Eigenschaft
        'window.opera'.

        Jetzt steh ich irgendwie auf der Leitung ... ich frag also nicht
        appVersion sondern window ab!?!? Wie das?

        if(window.opera) {
         /* opera-spezifischer Code */
        }

        Gruesse aus MS,
         c.j.k

        1. if(window.opera) {
          /* opera-spezifischer Code */
          }

          Super - danke!!! Es funktioniert!
          Und ich dacht schon, da find ich nie eine Lösung ...
          Aber dank der tollen Leute hier im Forum ... :)

          Liebe Grüße,
          sunny

      2. Jetzt steh ich irgendwie auf der Leitung ... ich frag also nicht appVersion sondern window ab!?!? Wie das?

        Ich meinte natürlich appName - bin schon vollkommen durcheinander ;-) sorry

        Liebe Grüße,
        sunny

  3. Hallo,

    Gibt es irgendeine Möglichkeit, festzustellen, ob der User meine Site mit Opera betrachtet?

    if(window.opera || navigator.userAgent.indexOf("Opera")!=-1)
    {
    // Opera ...
    }

    MfG, Thomas

  4. hi,

    opera 4/5/6 laesst sich u. a. so identifizieren:

    var opera = !!(document.getElementById && !document.documentElement);

    Wenn Du es genauer brauchst, musst Du die Version aus "navigator.appVersion" rausfiltern.

    Gruesse  Joachim