Bug Tracker

Opened 12 years ago

Closed 11 years ago

Last modified 8 years ago

#1867 closed bug (duplicate)

Some MS IE 7.0 userAgent strings return a jQuery browser.version of 6.0

Reported by: danielnashnz Owned by:
Priority: major Milestone: 1.2.2
Component: core Version: 1.2.1
Keywords: Cc:
Blocked by: Blocking:

Description

I am not sure how I got it (probably from the numerous .NET patches I have installed?) but my IE 7.0 userAgent string is returned as this:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30)

Which because of the greedy match in the jQuery ver 1.2.1 browser version assignement:

(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)
[])[1]

returns a version number of "6.0" from the second "MSIE \d..." string.

I have searched around on the Web and there seem to quite a few userAgents logged with similarly confounding identifiers.

Change History (2)

comment:1 Changed 12 years ago by achun

ya

I try fix it;

jQuery.browser = {
	version: (userAgent.match( /.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],//fixed by achun
	safari: /webkit/.test( userAgent ),
	opera: /opera/.test( userAgent ),
	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ),
	firefox: /firefox/.test(userAgent),//fixed by achun
	is:(userAgent.match(/.*(opera|msie|firefox|mozilla)/) || [])[1]//fixed by achun
};

if ('firefox'==jQuery.browser.is) {//fixed by achun
	jQuery.browser.version = (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1];
}

comment:2 Changed 11 years ago by dmethvin

Resolution: duplicate
Status: newclosed

This is a duplicate of #2784 but I left the later ticket open since it had more activity.

Note: See TracTickets for help on using tickets.