Какова спецификация для msFullscreenEnabled
MDN имеет следующее , чтобы сказать о fullscreenEnabled:
Атрибут
fullscreenEnabledуказывает, находится ли документ в данный момент в состоянии, позволяющем запрашивать полноэкранный режим.
Я понимаю это так: свойство сохраняется всякий раз, когда запрос на полный экран возможен.
Microsoft имеет почти идентичную формулировку об этом здесь :
Возвращает значение
true, если документ позволяет отображать элементы в полноэкранном режиме. В противном случае он возвращаетfalse.
Однако на странице сведений MSDN О свойстве имеется следующая противоречивая информация:
Флаг, указывающий, находится ли элемент в данный момент в полноэкранном режиме.
И
Поскольку это свойство возвращает значение true только в том случае, если элемент находится в полноэкранном режиме, его не следует использовать для обнаружения объектов.
В чем дело это?
обновить
Мои тесты показывают, что msFullscreenEnabled собственность на IE 11, действительно, дает ложноотрицательных результатов.
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 здесь.