Событие fullscreenchange не запускается в Chrome
Я пытаюсь отслеживать, когда браузер переходит в полноэкранный режим.
На этот блог ссылаются везде, где я ищу, в качестве руководства по полноэкранному API.
http://robertnyman.com/2012/03/08/using-the-fullscreen-api-in-web-browsers/
Этот ТАК ответ также утверждает, что это работает.
Полноэкранный API: какие события запускаются?
Вот мой код с jQuery, но он не запускает событие.
$(document).on("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){
console.log("bang!");
});
Кажется достаточно простым, но не запускается в Chrome. Есть идеи, что я делаю не так?
UPDATE:
Обнаружено что-то новое. События работают, только если JavaScript вызывает API requestFullScreen
, но не если пользователь нажимает F11.
Ответы
Ответ 1
События fullscreenchange
работают, но только если полноэкранный режим активирован requestFullscreen
.
Похоже, существует ограничение безопасности, которое не позволяет JavaScript контролировать, если пользователь вручную активирует полноэкранный режим с помощью горячей клавиши.
В качестве альтернативы вы можете отслеживать события изменения размера, чтобы увидеть, соответствует ли окно размеру рабочего стола, но мне это кажется хаком (то есть будет ли это работать на двухмониторных мониторах?)
Я решил отказаться от мониторинга полноэкранного режима и просто использовать API для переключения состояния.