@sergeybreen

Куду всовывать return false; или event.preventDefault()?

Есть видеогалерия и с ней такая проблема что если запустить одно видео, потом перейти на 2ое, 3е, 4е и при его прогрузке кликнув на плей, видео открывается в новой вкладке - этого нельзя допустить. Интересно что если вернуться на сайт и ещё раз кликнуть, то оно нормально в сайте запустится. И такая проблема наблюдается только в мозилле, в хроме нет.
Нагуглил что можно отменить переход с помощью return false; или event.preventDefault() - предполагаю получится что юзерам надо будет дважды нажать на плей(ну это терпимо) . Но я не знаю куда вставлять(если честно я не изучал JS и CSS, прошел только мельком HTML.... но видимо хорошо умею гуглить и как-то удачно ваяю свой непростой сайт с чужих кодов)) Прошу помощи знающих)
Я скину наглядный пример кода в эдиторе - https://jsfiddle.net/sergeybreen/u6o6e5x7/1/
Да, там ещё такой момент что после открытия "Показать Видео" откроется фейковый фрейм на котором должна быть картинка кнопки плей(сторонняя от плеера видеохоста). Но вам в эдиторе будет видно только пустоту, кликайте на неё, это иниицирует прогрузку настоящего iframe видеохоста. Такое ухищрение чтобы излишне не нагружать сайт, когда видео много это в десятки-сотни раз ускоряет загрузку сайта. Получается многова-то раз придется нажать чтобы в итоге запустилось видео, ну это тоже терпимо. Хотя если кто знает как сделать чтобы после клика на "Показать Видео" сразу прогружался настоящий iframe, а не фейковая превью-кнопка плей то буду оч благодарен и за такое решение.

Возможно другой видеохост лучше будет без такого глюка, но вариант замены пока не рассматриваю.
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 2
@mrSeller
e.preventDefault() блокирует нативное действие/событие.
А return false прекращает дальнейшее выполнение кода внутри функции.

Сейчас поглядим, что там в примере

UPD: если видео находится в iframe, то ничего поделать не получится, нельзя влиять на DOM внутри <iframe />
Ответ написан
daemonhk
@daemonhk
ПсиХоПат
1. Лучше использовать data-id
2. Что вам мешает по клику на название очищать содержимое всех спойлеров, а в текущий загружать iframe от ютуба с параметром автовоспроизведения?
3. Клик должен быть 1, не заставляйте пользователей делать ненужную работу
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы