Как снять все «md-флажки» (НЕ настоящие флажки) на странице HTML из скрипта Greasemonkey? - PullRequest
1 голос
/ 05 ноября 2019

Потратив бесчисленное количество потных часов, ругаясь и ругаясь, название единственного продовольственного магазина, который я могу использовать, и как они продолжают проверять свои враждебные для пользователя варианты каждую отдельную загрузку страницы, независимо от того, сколько раз я их отменяю, и сколькоКогда я сообщаю об этой «ошибке» (это преднамеренно), я просто вынужден обращаться к вам за помощью к экспертам.

На веб-странице не используются реальные HTML-флажки, а вместо этого то, что они называют «md-флажками». Это "AngularJS" вещь. Руководство по AngularJS ничего не объясняет, равно как и ни одна из многочисленных веб-страниц (включая вопросы переполнения стека), через которые я пахал. Ни один из, казалось бы, релевантных фрагментов кода не делает ничего, кроме выгрузки различных ошибок в консоль.

Это общая структура, которую я имею:

function turn_the_damn_things_off()
{
    var checkboxes = document.getElementsByTagName('md-checkbox');

    for (var i = 0; i < checkboxes.length; i++)
    {
        // I have tried countless things here, but nothing works. The checkboxes are never unchecked. I am, however, certain that the code here executes.
    }
}

setInterval(turn_the_damn_things_off, 500);

Причина, по которой я делаю это в промежутке, заключается в том, чтокажется, что они перепроверены не сразу, а примерно через секунду после загрузки страницы.

1 Ответ

0 голосов
/ 05 ноября 2019
for (var i = 0; i < checkboxes.length; i++)
{
  let x = checkboxes[i];
  if(x.getAttribute("aria-checked") === "true")
    x.classList.toggle("md-checked");
}

...