DEV Community

ZtoloGame
ZtoloGame

Posted on

javascript - Uncaught TypeError: Cannot read property 'msie' of undefined - jQuery tools

Question:

I am getting the following error in Chrome dev console:

Uncaught TypeError: Cannot read property 'msie' of undefined
My understanding is that it is because .browser is now deprecated in jQuery however I am using the latest version of jQuery tools and it is still giving the error, I checked in the js file and it is there.

How can I get around this so it does not give the error?

Solution 1:

You can check out this solution by AJ. It’s pretty straightforward, just copy and paste the following lines of code.

jQuery.browser = {};
(function () {
jQuery.browser.msie = false;
jQuery.browser.version = 0;
if (navigator.userAgent.match(/MSIE ([0-9]+)./)) {
jQuery.browser.msie = true;
jQuery.browser.version = RegExp.$1;
}
})();
Reference:

$.browser on jQuery 1.9.x for legacy IE detection
Solution 2:

The $.browser method has been removed as of jQuery 1.9.

jQuery.browser() removed

The jQuery.browser() method has been deprecated since jQuery 1.3 and is removed in 1.9. If needed, it is available as part of the jQuery Migrate plugin. We recommend using feature detection with a library such as Modernizr.

β€” jQuery Core 1.9 Upgrade Guide.

As stated in the Upgrade Guide you can try using the jQuery Migrate plugin to restore this functionality and let jQuery Tools work.

Solution 3:

Use the following script tag in your jsp/js file:

this will work for sure.

Top comments (0)