Какова спецификация для 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 здесь.