Отключение аннотаций для видео на YouTube с помощью Javascript в расширениях Chrome

Для моего расширения Chrome я хочу отключить / включить аннотации для видео YouTube. Вот пример видео с аннотациями:

http://www.youtube.com/watch?v=87kezJTpyMI

Я много искал. YouTube предоставляет множество методов API для модификации видео, но я не могу найти функцию JavaScript для отключения аннотаций. Самым многообещающим решением, похоже, был взлом параметра url (iv_load_policy), но он больше не работает.

http://www.youtube.com/watch?v=87kezJTpyMI&hd=1&iv_load_policy=3

Как отключить аннотации JavaScript для видео YouTube в расширениях Chrome?

3 ответа

Используйте это решение. Это работает очень хорошо и поддерживается в актуальном состоянии (я автор). Я также вставлю здесь текущий код, но постараюсь только обновить его там:

var settings_button = document.querySelector(".ytp-settings-button");
settings_button.click(); settings_button.click(); // open and close settings, so annotations label is created

var all_labels = document.getElementsByClassName("ytp-menuitem-label");
for (var i = 0; i < all_labels.length; i++) {
  if ((all_labels[i].innerHTML == "Annotations") && (all_labels[i].parentNode.getAttribute("aria-checked") == "true")) { // find the correct label and see if it is active
    all_labels[i].click(); // and in that case, click it
  }
}

Возможно, вы вручную нажимаете кнопку выключения аннотации, с jquery это работает:

$(".ytp-segmented-control-deselected").click()

Я использую это: $("div.video-annotations").css("display", "none");

Не уверен, что он работает с Flash Player!