Uncaught TypeError:无法读取未定义的属性'msie' – jQuery工具
我在Chrome开发人员控制台中收到以下错误消息:
Uncaught TypeError: Cannot read property 'msie' of undefined  我的理解是,这是因为.browser现在在jQuery中被弃用,但是我正在使用最新版本的jQuery工具,它仍然给出错误,我检查了js文件,它在那里。 
我怎样才能解决这个问题,所以它不会给出错误?
  $.browser方法已经从jQuery 1.9中移除了。 
jQuery.browser() removed从jQuery 1.3开始,
jQuery.browser()方法已被弃用,并在1.9中被删除。 如果需要,它可以作为jQuery Migrate插件的一部分。 我们build议使用Modernizr等库来进行function检测。– jQuery Core 1.9升级指南 。
正如升级指南所述,您可以尝试使用jQuery Migrate插件恢复此function,并让jQuery Tools工作。
你可以通过AJ查看这个解决scheme。 这非常简单,只需复制并粘贴以下几行代码。
 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; } })(); 
参考 :
- 用于传统IE检测的jQuery 1.9.x上的$ .browser
在你的jsp / js文件中使用下面的脚本标签:
 <script src="jquery-1.9.0.js"></script> <script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script> 
这将工作肯定。
我在js文件包含之后使用下面的代码,现在正在工作。
 <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> 
这是GitHub上的jQuery Tools bug 。 您可以尝试其中一个补丁。
编辑 – 它不看我好像jQuery的工具得到了很多的支持。 我个人不会开始一个依赖于这个图书馆的新项目,除非我准备接受我自己的支持。
用你的JS代替
 <script src="jquery-1.10.2.js"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
来源链接
 因为我不打算支持旧的MS IE版本,所以我简单地用falsereplace了所有对browser.msie引用。 我知道这不是一个很好的解决scheme,但对我来说很有用。 
  (实际上,它们显示为!browser.msie ,可以从条件中省略)。 
使用像打击
 $(function (a) { 
。 。 。 。 然后在你的函数中可以使用msie属性
 if (a.browser.msie) { } else { $(settings.current).after(Uploadelement); } 
祝你好运
使用像打击
我使用这个命令并解决
“Uncaught TypeError:无法读取属性'msie'的未定义的”错误
 if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) { return; } 
我在使用JQuery 1.10和JQuery UI 1.8时遇到了这个错误。 我能够通过更新到最新的JQuery UI 1.11.4来解决这个错误。
从Visual Studio更新JQuery UI的步骤:
- 导航到项目或解决scheme
- 右键单击:“pipe理NuGet包”
- 在左边,点击“已安装的软件包”选项卡
- 查找“JQuery UI(组合库)”,然后单击更新
- 如果find,请select它并单击更新
- 如果找不到,请在左侧的“在线> nuget.org”标签中find它,然后点击安装。 如果旧版本的Jquery UI版本仍然存在,它可以从项目中删除