Какова спецификация для msFullscreenEnabled


MDN имеет следующее , чтобы сказать о fullscreenEnabled:

Атрибут fullscreenEnabled указывает, находится ли документ в данный момент в состоянии, позволяющем запрашивать полноэкранный режим.

Я понимаю это так: свойство сохраняется всякий раз, когда запрос на полный экран возможен.

Microsoft имеет почти идентичную формулировку об этом здесь :

Возвращает значение true, если документ позволяет отображать элементы в полноэкранном режиме. В противном случае он возвращает false.

Однако на странице сведений MSDN О свойстве имеется следующая противоречивая информация:

Флаг, указывающий, находится ли элемент в данный момент в полноэкранном режиме.

И

Поскольку это свойство возвращает значение true только в том случае, если элемент находится в полноэкранном режиме, его не следует использовать для обнаружения объектов.

В чем дело это?

обновить

Мои тесты показывают, что msFullscreenEnabled собственность на IE 11, действительно, дает ложноотрицательных результатов.

1 4

1 ответ:

Вы должны понимать, что каждый браузер имеет свою собственную конкретную реализацию fullscreenEnabled.

Поскольку спецификация полноэкранного режима W3C не является окончательной, большинство браузеров поставщики префиксом API-интерфейс. Неплохо иметь единую функцию, которая запрашивает полноэкранный режим для всех префиксов.

Однако, где-то по пути в документ В3 полноэкранный API(18 ноября 2014) стал прекращена в пользу работы WHATWG как средство на спецификация полноэкранный API - продолжающийся.


Internet Explorer не реализовал его до версии 11. В IE11 он находился в экспериментальной стадии (назван msFullscreenEnabled). Microsoft Edge and beyond выбирает имя fullscreenEnabled. ложные отрицания для msFullscreenEnabled , находящихся в экспериментальной стадии, не должны быть неожиданными.

Полноэкранный режим Mozilla Firefox также является экспериментальным. Он включен по умолчанию после Firefox 10. Это синтаксис на самом деле mozFullScreenEnabled. Тот же принцип для webkit.

mozFullScreenEnabled'S определение его таково:

Сообщает, доступен ли полноэкранный режим. Полноэкранный режим доступен только для страницы без окон плагинов в любом из его документов, и если все элементы, которые содержат документ имеют свой набор атрибутов allowfullscreen.

Что соответствует текущим спецификациям полноэкранного API, которые упоминают :

fullscreenEnabled Возвращает true, если документ имеет возможность отображения элементы fullscreen и fullscreen поддерживаются, или false в противном случае.


Я предполагаю, что MS следовал за прекращенным W3C fullscreen api doc, который в какой-то момент изменился и в итоге получил другую спецификацию от текущего рабочего api. Тот факт, что я нашел только ссылку на документ W3C discontinued document на Microsoft Fullscreen API documentation, кажется, поддерживает это.

Я верю тому, что упоминается в Microsoft Полноэкранная документация API будет обновлена в описании свойстваfullscreenenabled . Но я еще не совсем получил в свои руки браузер Edge, поэтому я не могу сказать наверняка, является ли это спецификация неправильной или реализация.


Вы также можете посмотреть на фон / необходимость полноэкранного API HTML 5 здесь и поддержку браузера API здесь.