webForumDet fria alternativet

HttpBrowserCapabilities

.NET

4 svar · 242 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Frågan#1
[red]
HttpBrowserCapabilities bc = Request.Browser;
 Response.Write("<p>Browser Capabilities:</p>");
 Response.Write("Type = " + bc.Type + "<br>");
 Response.Write("Name = " + bc.Browser + "<br>");
 Response.Write("Version = " + bc.Version + "<br>");
 Response.Write("Major Version = " + bc.MajorVersion + "<br>");
 Response.Write("Minor Version = " + bc.MinorVersion + "<br>");
 Response.Write("Platform = " + bc.Platform + "<br>");
 Response.Write("Is Beta = " + bc.Beta + "<br>");
 Response.Write("Is Crawler = " + bc.Crawler + "<br>");
 Response.Write("Is AOL = " + bc.AOL + "<br>");
 Response.Write("Is Win16 = " + bc.Win16 + "<br>");
 Response.Write("Is Win32 = " + bc.Win32 + "<br>");
 Response.Write("Supports Frames = " + bc.Frames + "<br>");
 Response.Write("Supports Tables = " + bc.Tables + "<br>");
 Response.Write("Supports Cookies = " + bc.Cookies + "<br>");
 Response.Write("Supports VB Script = " + bc.VBScript + "<br>");
 Response.Write("Supports JavaScript = " + bc.JavaScript + "<br>");
 Response.Write("Supports Java Applets = " + bc.JavaApplets + "<br>");
 Response.Write("Supports ActiveX Controls = " + bc.ActiveXControls + "<br>");
 Response.Write("CDF = " + bc.CDF + "<br>");
[/red]

Jag testade denna på NS 7.0 och fick följande

Type = Netscape5
Name = Netscape
Version = 5.0
Major Version = 5
Minor Version = 0
...
...

hmmm

Medlem sedan dec. 19991 072 inlägg
#2

Ja, kan bara inflika att jag aldrig litar på "BrowserCapabilities", den har gett mig luriga svar flera gånger (även i gamla ASP).

Om detta beror på att "browscap.ini" innehåller felaktig information eller om tex. Netscape-browsern skickar en felaktig "header" vet jag däremot inte...

...Med "BrowserCapabilities" krävs det ju även att "browscap.ini" uppdateras så fort en ny browser släpps, något som nog inte är självklart eller i vetskap om på flera webhotell.

Medlem sedan mars 200262 inlägg
#3

Microsoft säger också att man inte skall använda dessa då de inte ÄR att lita på.

Medlem sedan juni 20019 024 inlägg
#4

Vad är filen till för då? :q
Någon funktion måste den väl fylla, eller?

Medlem sedan dec. 19991 072 inlägg
#5

"Browscap.ini" innehåller de "headers" som olika browsers skickar till klienten. Av dem ska man sen kunna härleda vilken browser/version det är. Problemet är att tex. Netscape kan byta headers vid nya versioner och då är de inte med i "browscap.ini" och så tolkar den headern som nåt annat.

MSIE headern bör man dock alltid kunna tolka.

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)