HttpBrowserCapabilities not returning correct netscape version

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
 
J

Jim Cheshire [MSFT]

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.

--------------------
 
E

Earl Teigrob

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
 
E

Earl Teigrob

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
 
J

Jim Cheshire [MSFT]

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,479
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top