55

哪些浏览器(如果有)支持Object.observe?我很惊讶我找不到任何有关此的信息。

(您是否知道此功能的预计到达时间?)

关于 Object.observe:“Object.observe 允许直接观察 ECMAScript 对象的更改。它允许观察者接收按时间排序的更改记录序列,这些记录描述了对观察到的对象集发生的更改集。 " — 参见ecmascript.org的解决方案部分。)


2015 年 11 月编辑:显然 Object.observe 已被取消:

http://www.infoq.com/news/2015/11/object-observe-withdrawn

https://esdiscuss.org/topic/an-update-on-object-observe
“我计划从 TC39 撤回 Object.observe 提案”

https://esdiscuss.org/topic/save-object-observe-please-make-weakmap-weakset-observable
“保存 Object.observe()!(请)”

4

7 回答 7

31

您可以使用kangax 的浏览器兼容性表Object.observe

它似乎是 ECMA Script 7 Specifications 的一部分。幸运的是,在撰写本文时,我当前的浏览器 Chrome 33 是​​唯一支持它的浏览器 :)

如果您想在 Chrome 33 中启用它,

  1. 访问chrome://flags/

  2. 并启用Enable Experimental JavaScript

于 2014-01-12T09:24:38.793 回答
8

Polymer是一个新的、有前途的框架,旨在实现Web 组件,这Object.observe()是它不可或缺的一部分。

它为“常青”浏览器提供了 polyfill 实现;最新可用的。此外,他们跟踪哪些浏览器对该功能具有本机支持因此可以加快实施速度。

这个 polyfill 在 GitHub 上作为一个单独的库提供。

于 2014-03-18T15:08:55.437 回答
4

没有浏览器。如果它今天不正确,那么有一天它会是正确的,那么这可以是公认的答案。

于 2016-01-15T04:25:07.787 回答
3

Chrome 35+ 支持 Object.observe() 方法。

更多细节在这里:html5rocks

更新:它已移至 chrome 36 beta。

于 2014-05-21T17:10:49.870 回答
2

它曾经出现在 Chrome 和 Opera 中,但在标准委员会撤回了该功能的提案后,该功能已从两种浏览器中删除!

在此处输入图像描述

于 2017-07-14T23:39:37.937 回答
0

Chrome 36+,Opera 30+。我最喜欢回答这些问题的方式是http://caniuse.com。它清晰、简洁,并且具有即时搜索功能。

于 2015-07-23T04:28:30.823 回答
0

免责声明:我是object-observer库的作者。

basarat 的答案绝对是正确的——现在没有浏览器支持它。

大多数执行“脏检查”的polyfills - 不是实现遵守恕我直言的最佳方式。

更好的方法是选择使用本机代理功能提供相同功能的几个库之一,object-observer只是其中之一。

于 2017-02-12T20:06:12.140 回答