Как отключить профессиональное освещение на youtube?
На ютубе появилась функция "профессиональное освещение". Проблема в том что она по умолчанию включена и ее нужно вручную все время отключать при этом из-за нее видео в браузере firefox становится в разрешении 360p.
Я хочу написать скрипт с помощью tampermonkey который будет ее выключать.Но по какой-то причине не срабатывает. В строке @match я указал https://www.youtube.com/watch* потому что скрипт должен срабатывать только на странице самими роликами
Вот код:
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.youtube.com/watch*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript==
(function() {
'use strict';
var osf = document.getElementsByClassName("ytp-menuitem"); //нахожу чек бокс с освещением
osf[0].setAttribute("aria-checked" , false); //вырубаю его
})(); ```
Ответы (1 шт):
Данный вами код не работает, ведь aria-checked не влияет на работу внутренних скриптов(см. ARIA), поэтому давайте разберем другой подход:
Элемент с профессиональным освещением находится под ID "cinematics". Благодаря устройству YouTube, применить document.getElementById("cinematics").hidden = true или document.getElementById("cinematics").style.display = none можно лишь при единожды, но придётся ожидать появления этого самого элемента, что, в зависимости от скорости ПК(мой, например, подгружает этот элемент далеко не сразу), может занять длительное время и лишний код.
Достаточно лишь вставить кастомный <style> с необходимым стилем в любой момент(TamperMonkey позаботится об этом, но разработчику расширения нельзя добавлять этот код в тайминг document_start):
var style = document.createElement("style");
style.innerText = "#cinematics{display:none!important;}";
document.head.appendChild(style);