В настоящее время я работаю над расширением Chrome для YouTube и хочу отключить для пользователя возможность приостановить/воспроизвести видео, щелкнув по нему.
Я видел несколько сообщений, в которых говорится «video.off('click');» но это не работает.
Я также пробовал это:
video.addEventListener('click', function(event){
console.log("preventing?")
event.preventDefault();
});
но все равно ничего не делает.
Я хотел бы некоторую помощь, если это возможно - Спасибо всем заранее!
Редактировать:
Я увидел комментарии и хочу уточнить свой вопрос. Мне нужно решение для отключения только события click, чтобы остановить воспроизведение/паузу оттуда.
Мне также нужно, чтобы ответ был записан в файле javascript, потому что я хочу контролировать, может ли пользователь щелкнуть видео.
Я также просмотрел: код Javascript для отключения щелчка мыши для видео на YouTube, но мне не удалось найти правильное решение для моего конкретного вопроса. Я видел одно решение, которое рекомендовало добавить прозрачное наложение поверх видеоэлемента, но я понятия не имею, как это сделать и как изменить его размер при изменении размера самого видеоплеера.
Решение проблемы
Прикрепите click
прослушиватель к window
+ используйте фазу захвата, указав true
для третьего параметра addEventListener + используйте stopPropagation, чтобы ваш прослушиватель был первой целью в цепочке распространения событий, т. е. он будет запускаться перед обработчиками сайта, потому что сайты обычно не используйте фазу захвата.
window.addEventListener('click', event => {
if (event.target.matches('video')) {
event.stopPropagation();
}
}, true);
Обратите внимание, что если какой-то редкий сайт использует точно такой же трюк, вы все равно можете переопределить его, объявив свой контент-скрипт с помощью «run_at»: «document_start».
Комментариев нет:
Отправить комментарий