bernd göbel: Wie erkenne ich Opera ...

Hallo Forum,
gesucht aber nicht gefunden.
Vieleicht kann mir ja hier jemand helfen.
Wie erkenne ich Opera (der 5er reicht).

Hat jemand eine Idee ?

Bin für jeden Ansatz dankbar.

Das kann er meiner Meinung nach nicht,
dmit könnte man Ihn abfangen wenn er sich als I.E ausgibt.

document.body.scrollTop

Bernd

  1. Hi,

    Wie erkenne ich Opera (der 5er reicht).

    Gegenfrage: Was bringt Dir dieses Wissen?

    Welcher Browser verwendet wird, ist eigentlich[1] unerheblich. Wichtig ist, welche Objekte bekannt sind und welche Methoden unterstützt werden - und das kannst Du browserunabhängig abfragen.

    Cheatah

    [1] Wobei die JavaScript-Implementierung von Opera möglicherweise ein Argument ist... :-)

    1. Sicher kann ich den Broser danach fragen, aber für den Opera Browser ist
      es recht schwierig dies Informationen zu bekommen.
      (Habe mir bei opera schon einen Wolf gesucht).
      Zwischenzeitlich würde ich aber ganz gerne Opera an ein paar Funktionen
      vorbei schicken.

      Bernd

      1. Hallo,

        function my_browser(){
         this.byId= document.getElementById?1:0;
         this.byTag = document.getElementsByTagName?1:0;
         this.defView = document.defaultView?1:0
         this.elFP = document.elementFromPoint?1:0
         this.dom = (this.byId && this.byTag)?1:0
         this.op50 = (this.byId && !this.byTag && !this.dom)?1:0;
         this.op51 = (this.dom && !this.defView && !this.elFP)?1:0
         return this;}

        var bw=new my_browser();

        if (bw.op50){
         alert("Opera Browser <= 5.01");}
         if (bw.op51){
         alert("Opera Browser > 5.01");}
         if (!bw.op50 || !bw.op51){
         alert("Kein Opera Browser");}

        Gruß
        Markus

        1. Danke Markus,
          das war genau das was ich gesucht habe.

          Danke !!!

          Bernd

        2. Moin,

          if (!bw.op50 || !bw.op51){

          ^^

          muss da nicht ein && hin?

          Viele Gruesse,

          n.d.p.

          1. Hallo n.d.p.

            if (!bw.op50 || !bw.op51){
                             ^^

            muss da nicht ein && hin?

            ei nadürlich, sorry und Danke

            Viele Grüße aus dem heißen Köln
            Markus

            (der jetzt auch noch Squash spielen geht :-)

    2. Hallo,

      Gegenfrage: Was bringt Dir dieses Wissen?
      Welcher Browser verwendet wird, ist eigentlich[1] unerheblich. Wichtig ist, welche Objekte bekannt sind und welche Methoden unterstützt werden - und das kannst Du browserunabhängig abfragen.
      Cheatah
      [1] Wobei die JavaScript-Implementierung von Opera möglicherweise ein Argument ist... :-)

      nicht nur dass einige Möglichkeiten bei Javascript und CSS von Opera
      fehlen, Opera ist auch immer noch etwas buggy. Sicher, vielleicht hat
      Opera bei einigen wenigen Abweichungen vom "Standard" sogar mal recht,
      was es aber deswegen nicht einfacher macht.
      Gerade deshalb bringt "dieses Wissen" etwas und ist mitunter nötig,
      schliesslich ist Opera 5x halbwegs soweit, dass Anpassungen möglich
      und sinnvoll sind.
      Ärgerlich ist der zusätzliche Aufwand, vor Allem wenn dann später mal
      bei Opera6 womöglich unsinnige Sachen in den Seiten stehen.
      Ich habe auch schon merkwürdige Dinge bei Netscape unter Linux gesehen,
      die ebenfalls nicht mit unterstützten Methoden erfassbar wären, genauso
      IE4.5/Mac.

      Grüsse

      Cyx23

  2. Hi,

    da gibt es navigator.appName und navigator.userAgent
    wahrscheinlich ist der userAgent hier besser,
    und dann nach dem Schema
    if(navigator.appName.indexOf("pera")>0)
    abfragen (vorher entspr. anpassen)

    Grüsse

    Cyx23

  3. Hallo Bernd,

    Wie erkenne ich Opera (der 5er reicht).

    if(window.opera)
      alert("opera");
    sollte _immer_ funktionieren, auch wenn Opera sich als sonstwas ausgibt.

    HTH Maxx