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版本,所以我简单地用false
replace了所有对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版本仍然存在,它可以从项目中删除