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?
This question is related to
javascript
jquery
jquery-tools
Here is the jQuery Tools bug on GitHub. You can try one of the patches.
edit — it doesn't look to me as if jQuery Tools is getting much support. I personally would not begin a new project with a dependency on that library unless I were prepared to take over support myself.
Use like blow
i use this command and solve
"Uncaught TypeError: Cannot read property 'msie' of undefined" Error
if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
return;
}
As I don't plan to support old MS IE versions at all, I've simply replaced all references to browser.msie
with false
.
Not a nice solution, I know, but it works for me.
(Actually, they appeared as !browser.msie
, which could be omitted from the conditions.)
I've simply added
jQuery.browser = {
msie: false,
version: 0
};
after jquery script, because I don't care about IE anymore.
Use the following script tag in your jsp/js file:
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>
this will work for sure.
I was getting this error while using JQuery 1.10 and JQuery UI 1.8. I was able to resolve this error by updating to the latest JQuery UI 1.11.4.
Replace Your JS with
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
Source link
Use like blow
$(function (a) {
. . . . .then in your function you can using msie property like
if (a.browser.msie)
{
}
else
{
$(settings.current).after(Uploadelement);
}
goodluck
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:
If you have jQuery defined twice, then you could get this error. For example, if you are working with Primefaces (it already includes jQuery) and you define it in other place.
I use below code after js file include and it's working now.
<script src="js/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
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;
}
})();
</script>
Source: Stackoverflow.com