HttpBrowserCapabilities not returning correct netscape version

  • Thread starter Thread starter Earl T
  • Start date Start date
E

Earl T

When I try to get the netscape version for version 7, I get the
HttpBrowserCapabilities class returning the version as 5 and not 7.
(see code and output below)


CODE
HttpBrowserCapabilities bc;
string s;
bc = Request.Browser;
....
s += "Type = " + bc.Type + "<br>" + "\n";
s += "Name = " + bc.Browser + "<br>" + "\n";
s += "Version = " + bc.Version + "<br>" + "\n";
s += "Major Version = " + bc.MajorVersion + "<br>" + "\n";
s += "Minor Version = " + bc.MinorVersion + "<br>" + "\n";


OUTPUT

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

When I use

s += Request.ServerVariables["http_user_agent"];

I get the output

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2)
Gecko/20030208 Netscape/7.02

which does contain the version 7.02 in the string.

Do I need to use the ServerVariables string to get the correct version
number or is there a better way???

Earl
 
Earl,

Let me look into this. At first glance, I'd say that the Regular
Expressions in the browserCaps element in the machine.config file need to
be updated to recognize Netscape 7.

I'll update you as soon as I can.

Jim Cheshire [MSFT]
Developer Support
ASP.NET
(e-mail address removed)

This post is provided as-is with no warranties and confers no rights.

--------------------
 
Jim,

After looking in the BrowserCaps section, I would say you are probably
correct. There is a regular expression to find netscape v6 but not v7. I
tried to add a case statement for v7 but it did not work (maybe because I no
nothing of how this really works)

I am sure that others must have run up against this and found a
solution???(like an updated browsercaps section)

Earl


Jim Cheshire said:
Earl,

Let me look into this. At first glance, I'd say that the Regular
Expressions in the browserCaps element in the machine.config file need to
be updated to recognize Netscape 7.

I'll update you as soon as I can.

Jim Cheshire [MSFT]
Developer Support
ASP.NET
(e-mail address removed)

This post is provided as-is with no warranties and confers no rights.

--------------------
From: (e-mail address removed) (Earl T)
Newsgroups: microsoft.public.dotnet.framework.aspnet
Subject: HttpBrowserCapabilities not returning correct netscape version
Date: 14 Oct 2003 14:11:19 -0700
Organization: http://groups.google.com
Lines: 40
Message-ID: <[email protected]>
NNTP-Posting-Host: 12.45.135.78
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1066165879 29724 127.0.0.1 (14 Oct 2003 21:11:19 GMT)
X-Complaints-To: (e-mail address removed)
NNTP-Posting-Date: Tue, 14 Oct 2003 21:11:19 +0000 (UTC)
Path:
cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!news-out.cwix.com!newsfeed.cwix.co
m!news.maxwell.syr.edu!postnews1.google.com!not-for-mail
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework.aspnet:184139
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet

When I try to get the netscape version for version 7, I get the
HttpBrowserCapabilities class returning the version as 5 and not 7.
(see code and output below)


CODE
HttpBrowserCapabilities bc;
string s;
bc = Request.Browser;
...
s += "Type = " + bc.Type + "<br>" + "\n";
s += "Name = " + bc.Browser + "<br>" + "\n";
s += "Version = " + bc.Version + "<br>" + "\n";
s += "Major Version = " + bc.MajorVersion + "<br>" + "\n";
s += "Minor Version = " + bc.MinorVersion + "<br>" + "\n";


OUTPUT

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

When I use

s += Request.ServerVariables["http_user_agent"];

I get the output

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2)
Gecko/20030208 Netscape/7.02

which does contain the version 7.02 in the string.

Do I need to use the ServerVariables string to get the correct version
number or is there a better way???

Earl
 
Jim,

I found this code in another artical on this newsgroup and it now reports
the correct netscape (major) version, which is all I care about. I added it
to my web.config file but suppose I can add it to the machine.config
instead?

Earl


Try this code in your web.config file (place between the <system.web> tags)

<browserCaps>

<case match="Gecko/[-\d]+">

browser=Netscape

frames=true

tables=true

cookies=true

javascript=true

javaapplets=true

ecmascriptversion=1.5

w3cdomversion=1.0

css1=true

css2=true

xml=true

tagwriter=System.Web.UI.HtmlTextWriter

<case match="rv:1.0[^\.](?'letters'\w*)">

version=6.0

majorversion=6

minorversion=0

<case match="^b" with="${letters}">

beta=true

</case>

</case>

<case match="rv:1(\.\d+)(\.\d)?(?'letters'\w*)">

version=7.0

majorversion=7

minorversion=0

<case match="^b" with="${letters}">

beta=true

</case>

</case>

</case>

</browserCaps>
Jim Cheshire said:
Earl,

Let me look into this. At first glance, I'd say that the Regular
Expressions in the browserCaps element in the machine.config file need to
be updated to recognize Netscape 7.

I'll update you as soon as I can.

Jim Cheshire [MSFT]
Developer Support
ASP.NET
(e-mail address removed)

This post is provided as-is with no warranties and confers no rights.

--------------------
From: (e-mail address removed) (Earl T)
Newsgroups: microsoft.public.dotnet.framework.aspnet
Subject: HttpBrowserCapabilities not returning correct netscape version
Date: 14 Oct 2003 14:11:19 -0700
Organization: http://groups.google.com
Lines: 40
Message-ID: <[email protected]>
NNTP-Posting-Host: 12.45.135.78
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1066165879 29724 127.0.0.1 (14 Oct 2003 21:11:19 GMT)
X-Complaints-To: (e-mail address removed)
NNTP-Posting-Date: Tue, 14 Oct 2003 21:11:19 +0000 (UTC)
Path:
cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!news-out.cwix.com!newsfeed.cwix.co
m!news.maxwell.syr.edu!postnews1.google.com!not-for-mail
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework.aspnet:184139
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet

When I try to get the netscape version for version 7, I get the
HttpBrowserCapabilities class returning the version as 5 and not 7.
(see code and output below)


CODE
HttpBrowserCapabilities bc;
string s;
bc = Request.Browser;
...
s += "Type = " + bc.Type + "<br>" + "\n";
s += "Name = " + bc.Browser + "<br>" + "\n";
s += "Version = " + bc.Version + "<br>" + "\n";
s += "Major Version = " + bc.MajorVersion + "<br>" + "\n";
s += "Minor Version = " + bc.MinorVersion + "<br>" + "\n";


OUTPUT

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

When I use

s += Request.ServerVariables["http_user_agent"];

I get the output

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2)
Gecko/20030208 Netscape/7.02

which does contain the version 7.02 in the string.

Do I need to use the ServerVariables string to get the correct version
number or is there a better way???

Earl
 
Hi Earl,

You can add it to either. However, if you want it available to any Web
application, the machine.config is probably the way to go.

Jim Cheshire [MSFT]
Developer Support
ASP.NET
(e-mail address removed)

This post is provided as-is with no warranties and confers no rights.

--------------------
From: "Earl Teigrob" <[email protected]>
References: <[email protected]>
Subject: Re: HttpBrowserCapabilities not returning correct netscape version
Date: Wed, 15 Oct 2003 09:00:26 -0500
Lines: 159
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <[email protected]>
Newsgroups: microsoft.public.dotnet.framework.aspnet
NNTP-Posting-Host: 12.45.135.72
Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework.aspnet:184309
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet

Jim,

I found this code in another artical on this newsgroup and it now reports
the correct netscape (major) version, which is all I care about. I added it
to my web.config file but suppose I can add it to the machine.config
instead?

Earl


Try this code in your web.config file (place between the <system.web> tags)

<browserCaps>

<case match="Gecko/[-\d]+">

browser=Netscape

frames=true

tables=true

cookies=true

javascript=true

javaapplets=true

ecmascriptversion=1.5

w3cdomversion=1.0

css1=true

css2=true

xml=true

tagwriter=System.Web.UI.HtmlTextWriter

<case match="rv:1.0[^\.](?'letters'\w*)">

version=6.0

majorversion=6

minorversion=0

<case match="^b" with="${letters}">

beta=true

</case>

</case>

<case match="rv:1(\.\d+)(\.\d)?(?'letters'\w*)">

version=7.0

majorversion=7

minorversion=0

<case match="^b" with="${letters}">

beta=true

</case>

</case>

</case>

</browserCaps>
Jim Cheshire said:
Earl,

Let me look into this. At first glance, I'd say that the Regular
Expressions in the browserCaps element in the machine.config file need to
be updated to recognize Netscape 7.

I'll update you as soon as I can.

Jim Cheshire [MSFT]
Developer Support
ASP.NET
(e-mail address removed)

This post is provided as-is with no warranties and confers no rights.

--------------------
From: (e-mail address removed) (Earl T)
Newsgroups: microsoft.public.dotnet.framework.aspnet
Subject: HttpBrowserCapabilities not returning correct netscape version
Date: 14 Oct 2003 14:11:19 -0700
Organization: http://groups.google.com
Lines: 40
Message-ID: <[email protected]>
NNTP-Posting-Host: 12.45.135.78
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1066165879 29724 127.0.0.1 (14 Oct 2003 21:11:19 GMT)
X-Complaints-To: (e-mail address removed)
NNTP-Posting-Date: Tue, 14 Oct 2003 21:11:19 +0000 (UTC)
Path:
cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!news-out.cwix.com!newsfeed.cwix.c o
m!news.maxwell.syr.edu!postnews1.google.com!not-for-mail
Xref: cpmsftngxa06.phx.gbl microsoft.public.dotnet.framework.aspnet:184139
X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet

When I try to get the netscape version for version 7, I get the
HttpBrowserCapabilities class returning the version as 5 and not 7.
(see code and output below)


CODE
HttpBrowserCapabilities bc;
string s;
bc = Request.Browser;
...
s += "Type = " + bc.Type + "<br>" + "\n";
s += "Name = " + bc.Browser + "<br>" + "\n";
s += "Version = " + bc.Version + "<br>" + "\n";
s += "Major Version = " + bc.MajorVersion + "<br>" + "\n";
s += "Minor Version = " + bc.MinorVersion + "<br>" + "\n";


OUTPUT

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

When I use

s += Request.ServerVariables["http_user_agent"];

I get the output

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2)
Gecko/20030208 Netscape/7.02

which does contain the version 7.02 in the string.

Do I need to use the ServerVariables string to get the correct version
number or is there a better way???

Earl
 
Back
Top