Не удается заблокировать элемент видео html5 с помощью JavaScript - PullRequest
1 голос
/ 01 апреля 2012

Youtube недавно начал воспроизводить html5 webm-версию видео на некоторых страницах, даже если в вашем браузере есть flash, и вы не участвуете в испытании html5.

Например, эти видео по умолчанию воспроизводят html5 webm:

http://www.youtube.com/watch?v=CuU91TU7O3s

Другие примеры (Смотреть? V = Z3IGfwcGBP8) (Смотреть? V = kYcNJQ3Y6Sg) (Смотреть? V = c6tEKLT5G2M)

Я пытаюсь заблокировать видео элементы, используя greasemonkey javascript. Для большинства видео YouTube просто удаление элемента видео работает. Например:

var h5video = document.getElementsByTagName("video")[0];
h5video.parentNode.removeChild(h5video)

Но на этой конкретной странице видео по-прежнему воспроизводится, даже если вы удалили элемент видео, вы услышите звук. http://www.youtube.com/watch?v=cCn-rmgECY0

Почему видео все еще воспроизводится?

Как вы можете заблокировать видео с помощью JavaScript? Я хочу, чтобы скрипт фактически ломал или блокировал загрузку видео, а не просто как-то приостанавливал / останавливал видео.

1 Ответ

0 голосов
/ 06 апреля 2013

Используйте JavaScript для удаления элементов video, audio, embed и object:

try {
    var h5video = document.getElementsByTagName("video")[0];
    h5video.parentNode.removeChild(h5video);

    var h5audio = document.getElementsByTagName("audio")[0];
    h5audio.parentNode.removeChild(h5audio);

    var object = document.getElementsByTagName("object")[0];
    object.parentNode.removeChild(object);

    var embed = document.getElementsByTagName("embed")[0];
    embed.parentNode.removeChild(embed);
}
catch(e) {
    console.log(e)
}

Ссылки

...