【问题标题】:jqGrid 4.13.0 error with IE8 Object.createIE8 Object.create 的 jqGrid 4.13.0 错误
【发布时间】:2016-03-03 15:52:01
【问题描述】:

我正在使用 jqGrid 4.13.0,使用 IE8 时似乎会导致错误。错误定位在jquery.fmatter 模块中。

YesObjectNoObject 使用不兼容 IE8 的 Object.create。任何解决方法的想法?非常感谢。

var fmatter = $.fmatter,
    getOptionByName = function (colModel, name) {
        ...
    },
    parseCheckboxOptions = function (options) {
        ...
    },
    YesObject = Object.create(null, {
        1: { value: 1 },
        x: { value: 1 },
        "true": { value: 1 },
        yes: { value: 1 },
        on: { value: 1 }
    }),
    NoObject = Object.create(null, {
        0: { value: 1 },
        "false": { value: 1 },
        no: { value: 1 },
        off: { value: 1 }
    });

【问题讨论】:

  • 一定要支持ie8吗?支持 ie8 的网格功能已经不多了……
  • 我确实想支持 IE8,但是我没有任何带 IE8 的电脑进行测试。我会将修复程序发布到 GitHub 并要求您进行测试。

标签: javascript jqgrid internet-explorer-8 compatibility free-jqgrid


【解决方案1】:

非常感谢您的错误报告!我在 IE8 上测试免费的 jqGrid 时遇到了技术问题,但我不想在真正需要它之前放弃对它的支持。

Object.create 的奇怪用法的原因是the test,这说明如何更好地测试数组中元素的存在。在我对所有现代网络浏览器的测试中,Object.create 的方式更好,我最初选择了它。

我将the bug fix 提交给了 GitHub。请从the repository获取最新源码。

【讨论】:

  • @jfprevot:你没有"accepted" 的答案。你想进行一些额外的测试吗?
  • @jfprevot:不客气!我计划在本周末发布 4.13.1,其中包括修复和其他一些更改。
猜你喜欢
  • 1970-01-01
  • 2013-01-04
  • 2013-08-03
  • 2018-09-30
  • 2017-08-30
  • 1970-01-01
  • 2013-12-14
  • 2011-02-23
  • 2011-09-01
相关资源
最近更新 更多