我在Chrome开发控制台得到以下错误:
Uncaught TypeError: Cannot read property 'msie' of undefined
我的理解是,这是因为.browser现在在jQuery中已弃用,但我使用的是最新版本的jQuery工具,它仍然会给出错误,我检查了js文件,它就在那里。
我怎样才能避免这个错误呢?
我在Chrome开发控制台得到以下错误:
Uncaught TypeError: Cannot read property 'msie' of undefined
我的理解是,这是因为.browser现在在jQuery中已弃用,但我使用的是最新版本的jQuery工具,它仍然会给出错误,我检查了js文件,它就在那里。
我怎样才能避免这个错误呢?
当前回答
像吹一样吹
我使用这个命令并求解
未捕获类型错误:无法读取未定义的属性“msie
if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
return;
}
其他回答
如果你定义了两次jQuery,那么你就会得到这个错误。例如,如果你正在使用Primefaces(它已经包含了jQuery),而你在其他地方定义了它。
像吹一样吹
$(function (a) {
. . . . .然后在你的函数中,你可以使用msie属性像
if (a.browser.msie)
{
}
else
{
$(settings.current).after(Uploadelement);
}
古德勒克
你可以看看AJ的解决方案。这非常简单,只需复制并粘贴下面的代码行。
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;
}
})();
参考:
美元。jQuery 1.9浏览器。x表示遗留IE检测
因为我不打算支持旧的IE版本,我只是替换了所有对浏览器的引用。我爱虚伪。 我知道这不是个好办法,但对我来说很管用。
(实际上,它们以!browser的形式出现。Msie,可以从条件中省略。)
这是GitHub上的jQuery工具bug。你可以试试其中一个补丁。
edit -在我看来,jQuery工具并没有得到很多支持。我个人不会开始一个依赖于该库的新项目,除非我准备自己接管支持。