Как изменить скорость воспроизведения / скорость видео внутри iframe с javascript? - PullRequest
1 голос
/ 09 февраля 2020

Я хочу создать javascript, чтобы изменить скорость воспроизведения видео, встроенного в iframe на загруженном веб-сайте. Тег <video> находится в iframe, и я хотел бы установить на него playbackRate.

Я пытался использовать document.getElementsByTagName('iframe')[0].contentDocument.querySelector('video'), чтобы получить элемент видео, но contentDocument был нулевым и заблокирован из-за разрешений на межсайтовый источник.

Однако существует популярное расширение Chrome, которое называется «Video Speed ​​Controller», и когда я использую это расширение, оно успешно устанавливает частоту воспроизведения видео в кадре iframe. Как это расширение chrome (с открытым исходным кодом: https://github.com/igrigorik/videospeed) может устанавливать скорость воспроизведения видео в iframe?

Я прочитал их код, и они используют одну и ту же стратегию: ищут фреймы и теги видео и используют contentDocument для найденных тэгов iframe. Они также перебирают все узлы DOM всякий раз, когда происходит мутация документа (в основном скрипте: https://github.com/igrigorik/videospeed/blob/master/inject.js). Позволит ли это им получить доступ к видео узлам?

РЕДАКТИРОВАТЬ: расширение подтверждает политики межсайтового происхождения и, похоже, не использует обновленные разрешения. См. Комментарий ниже.

спасибо!

...