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版本仍然存在,它可以从项目中删除