Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.06.2018, 14:51
Новичок на форуме
Отправить личное сообщение для scars Посмотреть профиль Найти все сообщения от scars
 
Регистрация: 18.01.2017
Сообщений: 5

Определить resize
Подкиньте идею, как определить, кто инициирует событие resize - пользователь или скрипт.
На странице встроен iframe youtube, при развороте видео на полный экран соответствующей кнопкой отрабатывает событие resize, при этом event isTrusted возвращает true (казалось бы это решение, оказывается нет).

В настоящий момент проверку осуществляю по соответствию iframe width == window width, но это решение не нравится. Не хочется привязываться к объекту iframe для запуска проверки, т.к. изначально его нет в DOM, он генерируется при нажатии на ссылку. К тому же объектов динамически может быть несколько на странице.

Есть какие-нибудь интересные идеи?
Ответить с цитированием
  #2 (permalink)  
Старый 06.06.2018, 14:52
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от scars
казалось бы это решение, оказывается нет
Почему?
Ответить с цитированием
  #3 (permalink)  
Старый 06.06.2018, 14:55
Новичок на форуме
Отправить личное сообщение для scars Посмотреть профиль Найти все сообщения от scars
 
Регистрация: 18.01.2017
Сообщений: 5

Потому что isTrusted возвращает true, а не false. Он говорит что resize совершает пользователь, а не скрипт, не знаю почему.
Ответить с цитированием
  #4 (permalink)  
Старый 06.06.2018, 15:04
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

scars, если используете jquery, то она событию добавляет свойство "isTrigger".

Последний раз редактировалось Nexus, 06.06.2018 в 15:06.
Ответить с цитированием
  #5 (permalink)  
Старый 06.06.2018, 15:12
Новичок на форуме
Отправить личное сообщение для scars Посмотреть профиль Найти все сообщения от scars
 
Регистрация: 18.01.2017
Сообщений: 5

jquery не использую.
проверил на resize не отдает isTrigger

Последний раз редактировалось scars, 06.06.2018 в 15:25.
Ответить с цитированием
  #6 (permalink)  
Старый 06.06.2018, 15:33
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Попробуйте такое решение.

if(document.fullscreenElement || document.webkitFullscreenElement) {
   
}
Ответить с цитированием
  #7 (permalink)  
Старый 06.06.2018, 15:52
Новичок на форуме
Отправить личное сообщение для scars Посмотреть профиль Найти все сообщения от scars
 
Регистрация: 18.01.2017
Сообщений: 5

Сообщение от ruslan_mart Посмотреть сообщение
Попробуйте такое решение.

if(document.fullscreenElement || document.webkitFullscreenElement) {
   
}
да, я как раз сейчас такое решение рассматриваю, правильное использование:

document.addEventListener('webkitfullscreenchange' , ()=>{});
document.addEventListener('mozfullscreenchange', ()=>{});
document.addEventListener('fullscreenchange', ()=>{});

только на айфоне это событие не отрабатывает, на андроиде не проверял
Ответить с цитированием
  #8 (permalink)  
Старый 06.06.2018, 15:55
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

scars, ну тут как бы да, не надёжно. Тут ещё вопрос в том, какое событие отработает раньше. Если сначала отработает resize и только потом отработает fullscreen, то тут уже тупик.
Ответить с цитированием
  #9 (permalink)  
Старый 06.06.2018, 17:10
Новичок на форуме
Отправить личное сообщение для scars Посмотреть профиль Найти все сообщения от scars
 
Регистрация: 18.01.2017
Сообщений: 5

блин, ужасно непонятные поведения вызывает этот youtube fullscreen.

сначала отрабатывает resize
затем fullscreenchange
затем повторно resize

без костылей не обойтись похоже
Ответить с цитированием
  #10 (permalink)  
Старый 06.06.2018, 20:24
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

scars, почитайте API по youtube, может там есть какие-то обработчики.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глобальная проблема с событием resize Север3 Events/DOM/Window 9 17.11.2016 10:48
определить элемент под перетаскиваемым элементом slavaspirit Элементы интерфейса 3 26.07.2015 01:49
Drag&Drop and resize wawandas Элементы интерфейса 0 05.08.2012 14:59
Определить как происходит resize W1nD Events/DOM/Window 2 20.04.2011 14:02
swf crop resize x-yuri Ваши сайты и скрипты 2 14.03.2011 05:58