Событие 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 для переключения состояния.