IE11不会也不会实现ES2015代理对象。然而,IE11的扩展支持将于2025年10月14日结束。
有没有什么方法可以为IE11填充代理对象?所有其他浏览器都已经支持代理了。
如果是,那么我们今天都可以在生产中使用它。如果不是,我们将不得不等待近十年……
编辑:我特别要求IE11,因为我知道IE通常具有我通常不知道的IE特定功能。
Edit2:我特别感兴趣的是能够实现一个通用的拦截器。类似于Python中的__getattr__。它只需要在IE11中工作即可。
发布于 2017-11-11 01:06:37
有一个相当简明的answer for this question on Quora
代理需要引擎级别的支持,并且不可能填充代理。
大多数主要的JS引擎还没有实现支持。查看ECMAScript 6 compatibility table。
你可能想要使用Object.observe来代替,可能在Chrome以外的浏览器上使用polyfills,但即使这样,该提议也已经被撤回,并宣布将在未来的版本中将其从Chrome中删除。
我个人还没有尝试过Object.observe解决方案,但它可能是一个很好的起点。
祝好运!
编辑:感谢Matt Jensen在评论中指出,实际上有一种方法可以使用这个包来填充ES6代理的某些部分:github.com/GoogleChrome/proxy-polyfill
太棒了
https://stackoverflow.com/questions/45285992
复制相似问题