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
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.
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 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 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>
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:
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;
}
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
$(function (a) {
. . . . .then in your function you can using msie property like
if (a.browser.msie)
{
}
else
{
$(settings.current).after(Uploadelement);
}
goodluck
I've simply added
jQuery.browser = {
msie: false,
version: 0
};
after jquery script, because I don't care about IE anymore.
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.
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.)
Source: Stackoverflow.com