Отключение аннотаций для видео на 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!