未捕获的TypeError:无法读取未定义的属性'msie' - jQuery工具

Col*_*747 186 javascript jquery jquery-tools

我在Chrome开发者控制台中收到以下错误:

Uncaught TypeError: Cannot read property 'msie' of undefined
Run Code Online (Sandbox Code Playgroud)

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

我怎么能解决这个问题呢?它不会给出错误?

JrB*_*nes 233

您可以通过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;
    }
})();
Run Code Online (Sandbox Code Playgroud)

参考:

  • 这个答案不再正确,因为IE11在`userAgent`字符串中没有MSIE标记. (9认同)
  • 这完美!但我认为这应该用作补丁,而不是解决方案吗? (4认同)

Ale*_*der 183

$.browserjQuery 1.9开始,该方法已被删除.

jQuery.browser() removed

jQuery.browser()方法自jQuery 1.3以来已被弃用,并在1.9中被删除.如果需要,它可以作为jQuery Migrate插件的一部分使用.我们建议对Modernizr等库使用特征检测.

- jQuery Core 1.9升级指南.

如升级指南中所述,您可以尝试使用jQuery Migrate插件来恢复此功能并让jQuery Tools工作.


Man*_*ava 43

在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>
Run Code Online (Sandbox Code Playgroud)

这肯定会起作用.

  • @ManishaSrivastava谢谢,它对我有用. (2认同)

Ati*_*han 27

我在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>
Run Code Online (Sandbox Code Playgroud)


use*_*ond 9

我只是添加了

jQuery.browser = {
    msie: false,
    version: 0
};
Run Code Online (Sandbox Code Playgroud)

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


Poi*_*nty 6

这是GitHub上的jQuery Tools错误.您可以尝试其中一个补丁.

编辑 - 我不认为jQuery Tools得到了很多支持.除非我准备自己接管支持,否则我个人不会开始依赖该库的新项目.

  • 我已经开始为我想要的每个功能找到写得很好的最小库.即:范围输入滑块:http://loopj.com/jquery-simple-slider/,滚动条/滑块:http://bxslider.com/.我找到了更好的支持,并且总体上更小的足迹找到了像这样的单个库 (5认同)