Javascript это не только ценный мех фронт.
Не отношусь. | |
|
286 (56.0%) |
This is ‘my cup of tea’! | |
|
106 (20.7%) |
Индифферентно. | |
|
119 (23.3%) |
Не отношусь. | |
|
286 (56.0%) |
This is ‘my cup of tea’! | |
|
106 (20.7%) |
Индифферентно. | |
|
119 (23.3%) |
Привет.
Делаю кнопочки для себя в ютубе, свою кнопку плей, которая выставляет нужное качество проигрывания, скорость и запускает проигрывание видео (чтоб не тратить кучу времени на тыкание по выпадающим менюшкам).
Работает по принципу:
- тригернуть клик по шестерне, найти пункт меню скоростей, тригернуть клик по нему, найти пункт меню с нужной скоростью, тригернуть клик по нему.
- тригернуть клик по шестерне, найти пункт качества, тригернуть клик по нему, найти пункт с нужным качеством, тригернуть клик по нему.
- тригернуть клик по основной кнопке Play.
Проблемы:
- криво-косо;
- кнопка плей срабатывает не всегда (в районе 95%);
- изредка менюшка настроек остаётся открытой;
- поиск по пунктам меню осуществляется по тексту и зависит от локализации сайта, так как других идентификаторов пунктов меню нет, сами менюшки меняются от видео к видео.
Вопрос:
Может, есть какое-то API для этого?
С ходу гуглится только API для iframe, это совсем не то: нужно подгрузить библиотеку, создать плеер и тогда им управлять. А мне нужно чтоб на самом сайте ютуба, без iframe и когда плеер уже создан (*).
Чтобы можно было делать что-то типа:
ytPlayer.setQuality('360p'); // (**)
ytPlayer.setSpeed(1.5);
ytPlayer.playVideo();
(*) пробовал удалять ютубовский плеер и на его месте создавать iframe с плеером, но в нём не работает SponsorBlock и ещё некоторые фичи, а так же ломаются некоторые функции на странице ниже.
(**) часто не весь набор качеств доступен, нужно ещё как-то получать список
Отличный комментарий!