Определить resize
Подкиньте идею, как определить, кто инициирует событие resize - пользователь или скрипт.
На странице встроен iframe youtube, при развороте видео на полный экран соответствующей кнопкой отрабатывает событие resize, при этом event isTrusted возвращает true (казалось бы это решение, оказывается нет). В настоящий момент проверку осуществляю по соответствию iframe width == window width, но это решение не нравится. Не хочется привязываться к объекту iframe для запуска проверки, т.к. изначально его нет в DOM, он генерируется при нажатии на ссылку. К тому же объектов динамически может быть несколько на странице. Есть какие-нибудь интересные идеи? |
Цитата:
|
Потому что isTrusted возвращает true, а не false. Он говорит что resize совершает пользователь, а не скрипт, не знаю почему.
|
scars, если используете jquery, то она событию добавляет свойство "isTrigger".
|
jquery не использую.
проверил на resize не отдает isTrigger |
Попробуйте такое решение.
if(document.fullscreenElement || document.webkitFullscreenElement) { } |
Цитата:
document.addEventListener('webkitfullscreenchange' , ()=>{}); document.addEventListener('mozfullscreenchange', ()=>{}); document.addEventListener('fullscreenchange', ()=>{}); только на айфоне это событие не отрабатывает, на андроиде не проверял |
scars, ну тут как бы да, не надёжно. Тут ещё вопрос в том, какое событие отработает раньше. Если сначала отработает resize и только потом отработает fullscreen, то тут уже тупик.
|
блин, ужасно непонятные поведения вызывает этот youtube fullscreen.
сначала отрабатывает resize затем fullscreenchange затем повторно resize без костылей не обойтись похоже |
scars, почитайте API по youtube, может там есть какие-то обработчики.
|
Часовой пояс GMT +3, время: 08:09. |