Какие браузеры поддерживают Object.observe?

Какие браузеры поддерживают Object.observe? Я удивлен, что не могу найти никакой информации об этом.

(И знаете ли вы о предполагаемом времени появления этой функции?)

Об Object.observe: "Object.observe позволяет напрямую наблюдать за изменениями в объектах ECMAScript. Он позволяет наблюдателю получать упорядоченную по времени последовательность записей об изменениях, которые описывают набор изменений, произошедших с набором наблюдаемые объекты." — см. ecmascript.org , раздел «Решение».)


Изменить Ноябрь 2015 г.: Object.observe, по-видимому, был отменен:

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

https://esdiscuss.org/topic/an-update-on-object-observe
"Я планирую отозвать предложение Object.observe из TC39"

https://esdiscuss.org/topic/save-object-observe-please-make-weakmap-weakset-observable
"Сохранить Object.observe()! (пожалуйста)"


person KajMagnus    schedule 12.01.2014    source источник
comment
Я думаю, что пройдет некоторое время, прежде чем вы увидите, что это широко поддерживается в дикой природе. Этого нет даже в последнем проекте спецификации... Редактировать: Ах, и это потому, что они нацелены на ES7. Так что да, не на какое-то время.   -  person T.J. Crowder    schedule 12.01.2014
comment
Существует прокладка.   -  person undefined    schedule 12.01.2014


Ответы (7)


Никаких браузеров. Если это не так сегодня, когда-нибудь это станет правдой, и тогда это может быть принятым ответом.

person basarat    schedule 15.01.2016

Вы можете использовать таблицу совместимости браузеров kangax для Object.observe.

Кажется, это часть спецификаций ECMA Script 7. К счастью, на момент написания этой статьи мой текущий браузер Chrome 33 был единственным, который его поддерживал :)

Если вы хотите включить его в Chrome 33,

  1. Посетите chrome://flags/

  2. И включите Enable Experimental JavaScript

person thefourtheye    schedule 12.01.2014
comment
Интересный. Многие вещи сначала появляются в Firefox, а не в Chrome. Это должно быть возглавлено членами комитета V8... - person T.J. Crowder; 12.01.2014
comment
Обратите внимание, что исходная ссылка больше не находится в нужном месте. Используйте kangax.github.io/compat-table/es7. - person ratiotile; 29.06.2014
comment
Таблица от kangax показывает, что она также доступна только в Chrome 33-37 с флагом экспериментальных функций Javascript. У меня Chrome 38, и он работает без включенного этого флага, поэтому (при условии, что таблица Kangax верна) он был включен в Chrome 38. - person Josh; 10.11.2014
comment
@ T.J.Crowder Я думаю, это из-за угловатости. - person simonzack; 03.03.2015
comment
Есть идеи, когда мы увидим это в FF? - person Nikos; 08.05.2015
comment
@Nikos Я смог найти только эту ошибку и, к сожалению, над ней никто не работает на данный момент :'( - person thefourtheye; 08.05.2015

Polymer – это новая многообещающая платформа, предназначенная для реализации веб-компонентов, для которого Object.observe() является неотъемлемой частью.

Он обеспечивает реализацию полифилла для «вечнозеленых» браузеров; последние доступные. Кроме того, они отслеживают, какие браузеры имеют встроенную поддержку этой функции, поэтому ускоряет их выполнение.

Этот полифилл доступен в виде отдельной библиотеки на GitHub.

person Bart Verkoeijen    schedule 18.03.2014
comment
github.com/Polymer/observe-js - это не полифилл, а отдельная библиотека который может использовать Object.observe, если он реализован в текущем браузере - person Victor; 27.05.2014
comment
@Victor, чтобы уточнить; он предоставляет полифилл для наблюдения за изменениями объектов. Библиотека действительно вернется к (медленной) грязной проверке вместо родной Object.observe. - person Bart Verkoeijen; 25.07.2014

Chrome 35+ поддерживает метод Object.observe().

Подробнее здесь: html5rocks

Обновление: оно перенесено в бета-версию Chrome 36.

person Nitin Jadhav    schedule 21.05.2014
comment
только что получил Chrome 35, но он, кажется, недоступен... даже после включения экспериментального js во флагах... странно?! - person David Fregoli; 22.05.2014
comment
да, не в 35, а в 36 twitter.com/addyosmani/status/469145484901511168 немного путаница вокруг - person David Fregoli; 22.05.2014
comment
Теперь кажется, что это бета-версия Chrome 36. Однако нужно оформить заказ. - person Nitin Jadhav; 22.05.2014
comment
chromestatus.com/features/6147094632988672 — по умолчанию в Chrome 36 помечен как включенный. - person Victor; 27.05.2014
comment
Работает по умолчанию в Chrome 36 (в настоящее время бета-версия) - person Jagtesh Chadha; 29.05.2014

Раньше он присутствовал как в Chrome, так и в Opera, но эта функция была удалена из обоих браузеров после комитет по стандартам отозвал предложение по этой функции!

введите здесь описание изображения

person John Slegers    schedule 14.07.2017

Хром 36+, Опера 30+. Мне больше всего нравится отвечать на эти вопросы http://caniuse.com. Это понятно, понятно и имеет мгновенный поиск.

person blockloop    schedule 23.07.2015

Отказ от ответственности: я являюсь автором библиотеки object-observer.

ответ basarat определенно правильный - в настоящее время его не поддерживает ни один браузер.

Большинство полифиллов, выполняющих «грязные проверки» — не лучший способ добиться соблюдения ИМХО.

Лучший способ — выбрать одну из нескольких библиотек, предоставляющих ту же функциональность с использованием собственных возможностей прокси-сервера, object- наблюдатель является лишь одним из них.

person GullerYA    schedule 12.02.2017