Živě
o počítačích
a Internetu

Aktualizace:
28. 10. 1998 14:45

Seznamte se s Terezkou -  Avatar na www.SHOP.cz pomáhá při nákupu
Seznamte se s Terezkou - Avatar na www.SHOP.cz pomáhá při nákupu

Hledání na Živě
Kategorie
Ekonomika
Grafika
Hardware
Internet
Jedno PC povídalo
Rozhovory
Servis
Sítě a komunikace
Software
Tipy a triky
Události
Veletrh
Windows 98
Windows NT

INECnet... pevné linky 28,8 a 33,6 kbit/s výhodně

Živě
Články za týden
Vyhledávání
Rozšířené hledání
Nejčtenější články
Soubory
Testy poskytovatelů
Ankety
Autoři
Reklama na Živě
Kontakt na redakci
Hledáme autory!
Statistika přístupů

Přidat aktivní kanál
Přidat zprávy na aktivní plochu

Computer Press
Vltava - prodej knih
Ucho - prodej CD
Travel Press
Titulní strana
Computer
Computer Design
Connect!
GEOinfo

24. 8. 1998 21:06 - Windows NT
tisk článku
pošli článek e-mailem
Výhybky pro web

Aktuální články
Michal A. Valášek: Pokud vytváříte WWW stránky, jistě chcete vědět, jaký prohlížeč používá váš návštěvník. Používáte-li Microsoft Internet Information Server, existuje několik snadných způsobů, jak to zjistit a využít toho.

Browser Capabilities
Přímo v IIS je vestavěn objekt Browser Capabilities, pomocí kterého můžete zjistit informace o prohlížeči a jeho schopnostech (například zda zvládá Javu, ActiveX a podobně). Má však i několik nevýhod, o kterých se zmíním později. Jeho použití je snadné - pomocí <%Set BC = Server.CreateObject("MSWC.BrowserType")%> vytvoříte objekt, prostřednictvím jehož vlastností zjišťujete schopnosti uživatelova prohlížeče (například. <%If BC.ActiveX Then%>). Bližší detaily najdete v nápovědě IIS. Pokud máte na svém počítači nainstalován MS IIS, hledejte na http://localhost/iishelp/iis/htm/asp/comp3xx0.htm.

User-Agent
Výše popsaný objekt využívá toho, že váš prohlížeč s každým svým požadavkem rozesílá i informaci, co je zač. Tato informace je obsažena v HTTP hlavičce jménem User-Agent a je jí řetězec obsahující název a verzi prohlížeče a název operačního systému uživatelova stroje. Co o sobě tvrdí váš prohlížeč, to můžete zjistit třeba zde. Popsaný objekt tento řetězec analyzuje a porovná s databází jemu známých prohlížečů (je uložena v souboru browscap.ini) a vyhodnotí, co daný prohlížeč podporuje a co ne. Má to však tu závažnou nevýhodu, že tuto databázi je nutno udržovat v aktuálním stavu. Takže například používáte-li nejnovější betavezi MSIE 5 (a nemáte upravený browscap.ini), IIS ji řádně neidentifikuje a hlásí, že používáte nějaký prastarý Netscape. Tomu se lze vyhnout tak, že zmíněný řetězec analyzujete sami a vyvodíte z toho patřičné důsledky.
Práci vám může ušetřit mnou napsaná sbírka funkcí UADET (=UserAgent DETection), která určí název a verzi prohlížeče a použitý operační systém. UADET slouží i k rozlišování uživatelů zde na Živě. Obsahuje tři funkce (pro název prohlížeče, jeho verzi a OS), které vracejí trojpísmenný řetězec identifikující daný parametr a jednu funkci, která vrátí kompletní informaci o konfiguraci jako řetězec vhodný k uložení do databáze:


'UADET = User Agent Detection

Function GetBrowserName()
     If InStr(Request.ServerVariables("HTTP_USER_AGENT"),"MSIE") > 0 Then
          GetBrowserName = "MIE"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"Mozilla") > 0 Then
          GetBrowserName = "NNC"
     Else
          GetBrowserName = "XXX"
     End If
End Function

Function GetBrowserVersion()
     If InStr(Request.ServerVariables("HTTP_USER_AGENT"),"5.") > 0 Then
          GetBrowserVersion = "500"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"4.") > 0 Then
          GetBrowserVersion = "400"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"3.") > 0 Then
          GetBrowserVersion = "300"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"2.") > 0 Then
          GetBrowserVersion = "200"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"1.") > 0 Then
          GetBrowserVersion = "100"
     Else
          GetBrowserVersion = "XXX"
     End If
End Function

Function GetOS()
     If InStr(Request.ServerVariables("HTTP_USER_AGENT"),"95") * InStr(Request.ServerVariables("HTTP_USER_AGENT"),"Win") > 0 Then
          GetOS = "W95"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"98") * InStr(Request.ServerVariables("HTTP_USER_AGENT"),"Win") > 0 Then
          GetOS = "W98"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"NT") * InStr(Request.ServerVariables("HTTP_USER_AGENT"),"Win") > 0 Then
          GetOS = "WNT"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"Win") > 0 Then
          GetOS = "W3X"
     ElseIf InStr(Request.ServerVariables("HTTP_USER_AGENT"),"Mac") > 0 Then
          GetOS = "MAC"
     Else
          GetOS = "XXX"
     End If
End Function

Function GetIDString()
     GetIDString = "B:" & GetBrowserName & ";V:" & GetBrowserVersion & ";S:" & GetOS
End Function

 
Předplaťte si Computer ještě dnes!

 

Živě si právě čte 256 lidí


Optimalizováno pro Microsoft Internet Explorer 4.0

Copyright Computer Press, 1998 
Technické řešení copyright Altair, 1998