Detekujte typ prohlížeče podle ASP a přesměrujte podle něj uživatele na vybranou stránku.

Detekce prohlížeče pomocí skriptů na straně serveru je založena na analýze řetězce user-agent, který je předáván browserem při každém vyžádání webovské stránky. ASP umožňuje načtení tohoto řetězce pomocí metody ServerVariables objektu Request, která má následující syntaxi:

<%
useragent = Request.ServerVariables(„HTTP_USER_AGENT“)
%>


Například, user-agent Vámi používaného prohlížeče vypadá následovně:

<% useragent = Request.ServerVariables("HTTP_USER_AGENT") %><%= useragent%>

Pro detekci prohlížeče lze rovnou využít získaný řetězec (separací). ASP však umožňuje ulehčení práce využitím komponenty Browser Capabilities. Ta srovnává řetězec user-agent s položkami ve speciálním inicializačním souboru Browscap.ini a na základě podobnosti pak zpřístupňuje další informace o prohlížeči. Komponenta má řadu vlastností, nejčastěji používané jsou tyto:

  • browser – jméno prohlížeče (IE/Netscape)
  • version – verze prohlížeče
  • majorver, minorver – rozložení čísla verze (např verze 4.51 se rozloží následovně: majorver = 4, minorver = 51)
  • cookies – vrací, zdali prohlížeč podporuje tvorbu „koláčků“
  • frames, tables, javascript, javaapplets, vbscript, ActiveXControls – vrací, zdali prohlížeč podporuje uvedené technologie či tagy (True/False).

    Jestliže server nenalezne v souboru browscap.ini odpovídající řetězec user-agent, vrací jednotlivé vlastnosti hodnotu ‚Unknown‘. Skript pro přesměrování návštěvníka podle typu prohlížeče pak může vypadat následovně:

    <%
    Dim bc
    Set bc = Server.CreateObject(„MSWC.BrowserType“)
    browser = bc.Browser
    verze = bc.Majorver
    If verze = „Unknown“ Then verze = 0
    ‚ Pokud návštěvník používá MSIE 4 nebo vyšší je přesměrován na stránku explorer4.htm
    If browser = „IE“ AND CInt(verze) >= 4 Then ‚
    Response.Redirect(„explorer4.htm“)
    ‚ Pokud návštěvník používá NN 4 nebo vyšší je přesměrován na stránku netscape4.htm
    ElseIf browser = „Netscape“ And CInt(verze) >=4 Then
    Response.Redirect(„netscape4.htm“)
    ‚ Je používán jiný prohlížeč, přeměrování na stránku other.htm
    Else Response.Redirect („other.htm“)
    End If
    Set bc = Nothing
    %>


    Obdobným způsobem lze využít i ostatních vlastností komponenty Browser Capabilities a tak optimalizovat stránky pro různé prohlížeče a podporované technologie.

    Starší komentáře ke článku

    Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

  • Žádný příspěvek v diskuzi

    Odpovědět