未捕获的类型错误:无法读取未定义属性“msie”

139

这个错误信息是由以下代码引起的:

$.fn.extend({
    chosen: function(options) {
      if ($.browser.msie && ($.browser.version === "6.0" || $.browser.version === "7.0")) {

来自文件:https://github.com/koenpunt/chosen/edit/master/chosen/chosen.jquery.js

显然浏览器未定义。有什么想法是什么导致了这个问题。在Chrome和FF中都有相同的错误。


7
最新版的jQuery已经移除了$.browser。在这里找到解决方案:https://dev59.com/HGkw5IYBdhLWcg3wzdtF - elclanrs
谢谢提供链接。我刚刚将它添加为 jQuery 插件。现在一切都解决了。 - Abram
1个回答

260

$.browser在jQuery 1.9版本开始被移除。现在可以作为插件使用。通常建议避免浏览器检测,这也是它被移除的原因。


17
我建议按照文档中提到的方式,使用官方的 jQuery Migrate 插件。可在此链接 http://jquery.com/download/#jquery-migrate-plugin 下载。 - melc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接