ie8不支持Object.create

klye_g

我遇到了一个插件问题,该插件在jquery中使用object.create创建日期下拉列表。我只是在IE 8中注意到它抛出了以下错误:

SCRIPT438: Object doesn't support property or method 'create'

这是代码:

var dropdateobj = Object.create(dropdatefuncs);
dropdateobj.create(options, this);
$.data(this, 'dropdate', dropdateobj);

与IE8或更高版本的跨浏览器兼容,如何解决?

提前致谢!

al

如果需要Object.create很有可能还需要依赖其他es5功能。因此,在大多数情况下,适当的解决方案是使用es5-shim

但是,如果Object.create仅是您所需要的,并且仅使用它来纯粹设置原型链,则这是一个轻量级的poly-fill,它不支持null作为第一个参数,也不支持第二个properties参数。

这是规格:

15.2.3.5 Object.create(O [,属性])

create函数使用指定的原型创建一个新对象。调用create函数时,将执行以下步骤:

如果Type(O)不是Object或Null,则抛出TypeError异常。

令obj为创建新对象的结果,就像通过表达式new Object()一样,其中Object是具有该名称的标准内置构造函数

将obj的[[Prototype]]内部属性设置为O。

如果存在参数Properties且未定义参数,则将自身的属性添加到obj,就像通过调用带有参数obj和Properties的标准内置函数Object.defineProperties一样。

返回obj。

这是轻量级的实现:

if (!Object.create) {
    Object.create = function(o, properties) {
        if (typeof o !== 'object' && typeof o !== 'function') throw new TypeError('Object prototype may only be an Object: ' + o);
        else if (o === null) throw new Error("This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.");

        if (typeof properties != 'undefined') throw new Error("This browser's implementation of Object.create is a shim and doesn't support a second argument.");

        function F() {}

        F.prototype = o;

        return new F();
    };
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IE8中的对象不支持修剪方法

来自分类Dev

对象在jQuery中不支持addEventListener IE8

来自分类Dev

IE8中的对象不支持修剪方法

来自分类Dev

不支持给定路径的格式-IE8

来自分类Dev

ie8对象不支持extjs代码

来自分类Dev

IE8不支持function.bind()。使它专门用于IE8浏览器?或保持通用

来自分类Dev

对象在JavaScript的ie8中不支持此属性或方法

来自分类Dev

IE8 JS错误:对象不支持此属性或方法

来自分类Dev

IE8 javascript中的对象不支持此属性或方法

来自分类Dev

IE8“对象不支持此属性或方法”与JQuery 1.7

来自分类Dev

Hammer.js(IE8)-对象不支持属性或方法“ addEventListener”

来自分类Dev

仅在IE8中的jQuery错误“对象不支持此属性或方法”

来自分类Dev

对象在JavaScript的ie8中不支持此属性或方法

来自分类Dev

IE8 Javascript错误:对象不支持此属性或方法

来自分类Dev

Flexslider和IE8对象不支持此属性或方法

来自分类Dev

IE8不支持显示阻止和不显示吗?

来自分类Dev

SCRIPT438:对象不支持IE8中的属性或方法“键”

来自分类Dev

IE8中的AngularJS-错误:不支持此命令

来自分类Dev

IE8 JavaScript错误-对象不支持此属性或方法

来自分类Dev

IE8 JS错误:对象不支持此属性或方法

来自分类Dev

IE8 javascript中的对象不支持此属性或方法

来自分类Dev

DRF 3.0.1:.create()方法不支持可写的嵌套字段

来自分类Dev

此版本的 SQL Server 不支持“CREATE CREDENTIAL”

来自分类Dev

不支持 SpreadsheetDocument.Create() 返回 URI 格式

来自分类Dev

我在IE8中不断收到Object.create错误

来自分类Dev

Delphi RTTI TVirtualMethodInterceptor.Create不支持具有重载虚拟方法的类

来自分类Dev

IE 11 不支持方法 'from'

来自分类Dev

IE 8不支持nth-child,我该如何解决?

来自分类Dev

IE 8浏览器不支持换行符“ \ n”

Related 相关文章

  1. 1

    IE8中的对象不支持修剪方法

  2. 2

    对象在jQuery中不支持addEventListener IE8

  3. 3

    IE8中的对象不支持修剪方法

  4. 4

    不支持给定路径的格式-IE8

  5. 5

    ie8对象不支持extjs代码

  6. 6

    IE8不支持function.bind()。使它专门用于IE8浏览器?或保持通用

  7. 7

    对象在JavaScript的ie8中不支持此属性或方法

  8. 8

    IE8 JS错误:对象不支持此属性或方法

  9. 9

    IE8 javascript中的对象不支持此属性或方法

  10. 10

    IE8“对象不支持此属性或方法”与JQuery 1.7

  11. 11

    Hammer.js(IE8)-对象不支持属性或方法“ addEventListener”

  12. 12

    仅在IE8中的jQuery错误“对象不支持此属性或方法”

  13. 13

    对象在JavaScript的ie8中不支持此属性或方法

  14. 14

    IE8 Javascript错误:对象不支持此属性或方法

  15. 15

    Flexslider和IE8对象不支持此属性或方法

  16. 16

    IE8不支持显示阻止和不显示吗?

  17. 17

    SCRIPT438:对象不支持IE8中的属性或方法“键”

  18. 18

    IE8中的AngularJS-错误:不支持此命令

  19. 19

    IE8 JavaScript错误-对象不支持此属性或方法

  20. 20

    IE8 JS错误:对象不支持此属性或方法

  21. 21

    IE8 javascript中的对象不支持此属性或方法

  22. 22

    DRF 3.0.1:.create()方法不支持可写的嵌套字段

  23. 23

    此版本的 SQL Server 不支持“CREATE CREDENTIAL”

  24. 24

    不支持 SpreadsheetDocument.Create() 返回 URI 格式

  25. 25

    我在IE8中不断收到Object.create错误

  26. 26

    Delphi RTTI TVirtualMethodInterceptor.Create不支持具有重载虚拟方法的类

  27. 27

    IE 11 不支持方法 'from'

  28. 28

    IE 8不支持nth-child,我该如何解决?

  29. 29

    IE 8浏览器不支持换行符“ \ n”

热门标签

归档