Detecting IE using jQuery
$(window).load(function () {
if($.browser.msie && $.browser.version=="6.0") {
// do stuff
}
});
Just realized that $.browser has been depreciated in 1.3. What is the new method for detecting开发者_如何转开发 IE, specially IE6.
The jQuery documentation for jQuery.browser
shows the following warning. (Emphasis is mine.)
Because
$.browser
usesnavigator.userAgent
to determine the platform, it is vulnerable to spoofing by the user or misrepresentation by the browser itself. It is always best to avoid browser-specific code entirely where possible. Instead of relying on$.browser
it's better to use libraries like Modernizr.
The documentation page also says:
This property was removed in jQuery 1.9 and is available only through the jQuery.migrate plugin. Please try to use feature detection instead.
Even jQuery.support
, which was suggested from the old documentation has the following warning. (Emphasis is mine.)
A collection of properties that represent the presence of different browser features or bugs. Intended for jQuery's internal use; specific properties may be removed when they are no longer needed internally to improve page startup performance. For your own project's feature-detection needs, we strongly recommend the use of an external library such as Modernizr instead of dependency on properties in
jQuery.support
.
The previous documentation for jQuery.support
reported the following properties and values.
$.support.boxmodel
isfalse
in IE 6, and 7.$.support.cssFloat
isfalse
for IE 6, 7 and 8; it istrue
in IE 9.$.support.leadingWhitespace
isfalse
for IE 6, 7, and 8.$.support.objectAll
is currentlyfalse
for IE 6, 7, and 8.
hot from the documentation: We recommend against using this property, please try to use feature detection instead (see jQuery.support).
Show the browser Information
jQuery.each( jQuery.browser, function( i, val ) {
$( "<div>" + i + " : <span>" + val + "</span>" )
.appendTo( document.body );
});
Alert the version of IE's rendering engine that is being used. Will not work in jQuery 1.9 or later unless the jQuery Migrate plugin is included.
if ( $.browser.msie ) {
alert( $.browser.version );
}
精彩评论