Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 311
Colin747 Avatar asked Sep 25 '22 13:09

Colin747


2 Answers

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
like image 282
JrBriones Avatar answered Oct 12 '22 01:10

JrBriones


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.

like image 198
Alexander Avatar answered Oct 12 '22 02:10

Alexander