Hans: Browserweiche Opera

Hallo

folgende Browserweiche benutze ich:

<!--#if expr="${HTTP_USER_AGENT} = /MSIE [4-9]/"-->
  <!--#include virtual="/navi3.html" -->
<!--#else -->
 <!--#include virtual="/navi.html" -->
<!--#endif

soll ergeben für IE 4+ gibts navi3.html und für ALLE(Browser) anderen gibts navi.html.
funktioniert auch aber nicht bei Opera.
Meine Suche ergab das opera auch MSIE im String benutz.

was soll ich für IE 4+ benutzen?

MFG

HAns

  1. Hi,

    Meine Suche ergab das opera auch MSIE im String benutz.

    nein - nur wenn man ihn entsprechend konfiguriert (und nichts anderes den String nachträglich verändert). Opera schreibt allerdings auch "Opera" in den String, was Du _vor_ Deiner genannten Prüfung checken kannst. Trotz alledem:

    Es existiert _keine_ sichere Möglichkeit, einen Browser zu identifizieren - weder clientseitig, geschweige denn serverseitig. Selbst Browser lügen; und jedes System dahinter (Proxy, Firewall...) kann den User-Agent-String beliebig verändern.

    Eine Browserweiche ergibt keinen Sinn.

    Cheatah

  2. Hi,

    Opera benutzt zwar auch "MSIE", identifiziert sich aber auch als "Opera". Man muß also abfragen, ob "Opera" im HTTP_USER_AGENT vorkommt oder nicht.

    In JavaScript wäre das:
    if(navigator.userAgent.indexOf("Opera")!=-1)

    Jetzt müßte das nur noch jemand in die Server-Sprache konvertieren, ich kann das nicht.