与IE8 Object.create

时间:2016-03-03 15:52:01

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

我正在使用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 }
    });

1 个答案:

答案 0 :(得分:1)

非常感谢您的错误报告!我在IE8上测试免费的jqGrid有技术问题,但是我不想放弃支持它,直到它真的需要它。

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

我向GitHub提交了the bug fix。请从the repository获取最新来源。