无法获取未定义或空引用的属性"msie"

And*_*ard 10 jquery jqgrid

我正在尝试在我的MVC 4视图中创建一个JQGrid并获得一个

无法获取未定义或空引用的属性"msie"

添加JQGrid javascript文件时出错

bundles.Add(new ScriptBundle("~/Bundles/Shared/JS").Include(
            "~/Scripts/jquery-1.9.1.min.js",
            "~/Scripts/jquery.validate.min.js",
            "~/Scripts/bootstrap.js",
            "~/Content/silviomoreto-bootstrap-select/bootstrap-select.min.js",
            "~/Scripts/js/Shared/Index.js",
            "~/Scripts/js/Shared/Validation.js",
            "~/Scripts/jquery.placeholder.js",
            "~/Content/jquery.jqGrid-4.4.3/js/i18n/grid.locale-en.js",
            "~/Content/jquery.jqGrid-4.4.3/js/jquery.jqGrid.min.js"));
Run Code Online (Sandbox Code Playgroud)

错误发生在以下行

e=n.browser.msie&&"6.0"==n.browser.version
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?

Jam*_*ice 19

来自jQuery文档jQuery.browser:

此属性已在jQuery 1.9中删除,只能通过jQuery.migrate插件获得.请尝试使用功能检测.

所以你必须下载到旧版本的jQuery或使用migrate插件.


Ana*_*and 9

我也有类似的问题,因为在jQuery 1.9中删除了这个属性...在页面脚本标记内添加以下代码.

 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)