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)
参考:
Ale*_*der 183
从$.browserjQuery 1.9开始,该方法已被删除.
该
jQuery.browser()方法自jQuery 1.3以来已被弃用,并在1.9中被删除.如果需要,它可以作为jQuery Migrate插件的一部分使用.我们建议对Modernizr等库使用特征检测.
如升级指南中所述,您可以尝试使用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)
这肯定会起作用.
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)
我只是添加了
jQuery.browser = {
msie: false,
version: 0
};
Run Code Online (Sandbox Code Playgroud)
在 jquery 脚本之后,因为我不再关心 IE 了。
这是GitHub上的jQuery Tools错误.您可以尝试其中一个补丁.
编辑 - 我不认为jQuery Tools得到了很多支持.除非我准备自己接管支持,否则我个人不会开始依赖该库的新项目.
| 归档时间: |
|
| 查看次数: |
282133 次 |
| 最近记录: |