目前我知道有三种方法可以禁用 YouTube 视频中的注释:
- 您可以使用 YouTube 设置。这对我不起作用,因为我没有(也不想要)帐户。
- 您可以使用专门的扩展。这可能有用,但我不想为此而拥有一个带有大量选项的成熟扩展。
- 您可以使用(广告)拦截扩展程序,并添加
||youtube.com/annotations_
到它的过滤器。这与上一点存在同样的问题。此外,它完全禁用它们,而我只是希望它们默认关闭(所以我可以选择打开它们)。
可以使用 JavaScript 来完成吗?我有一个用户脚本,它已经对 YouTube 的网站进行了一些修改,所以理想情况下我想扩展它。这确实是我最缺少的东西。
我要求答案仅限于使用 JS,而不是浏览器扩展建议。既因为(如前所述),我已经了解这些,也因为这既与学习过程有关,也与结果有关。这是更多用户脚本的练习。
由于 YouTube 有时会改变玩家的行为,因此我会尽力使代码保持最新并尽可能健壮。
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
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)