我在Chrome开发控制台得到以下错误:

Uncaught TypeError: Cannot read property 'msie' of undefined

我的理解是,这是因为.browser现在在jQuery中已弃用,但我使用的是最新版本的jQuery工具,它仍然会给出错误,我检查了js文件,它就在那里。

我怎样才能避免这个错误呢?


当前回答

这是GitHub上的jQuery工具bug。你可以试试其中一个补丁。

edit -在我看来,jQuery工具并没有得到很多支持。我个人不会开始一个依赖于该库的新项目,除非我准备自己接管支持。

其他回答

我只是补充了一句

jQuery.browser = {
    msie: false,
    version: 0
};

jquery脚本之后,因为我不再关心IE了。

如果你定义了两次jQuery,那么你就会得到这个错误。例如,如果你正在使用Primefaces(它已经包含了jQuery),而你在其他地方定义了它。

像吹一样吹

$(function (a) {

. . . . .然后在你的函数中,你可以使用msie属性像

if (a.browser.msie) 
{
}
else 
{
   $(settings.current).after(Uploadelement);
}

古德勒克

在jsp/js文件中使用以下脚本标记:

<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>

这肯定有用。

因为我不打算支持旧的IE版本,我只是替换了所有对浏览器的引用。我爱虚伪。 我知道这不是个好办法,但对我来说很管用。

(实际上,它们以!browser的形式出现。Msie,可以从条件中省略。)