如何从 Greasemonkey 脚本取消选中 HTML 页面上的所有 "md-checkboxes"(不是真正的复选框)?
How do I uncheck all "md-checkboxes" (NOT real checkboxes) on a HTML page from a Greasemonkey script?
在浪费了无数汗流浃背的时间之后,咒骂和诅咒我唯一可以使用的食品店的名字,以及他们如何在每次加载页面时不断检查他们的用户敌对选项,无论我取消选中它们多少次,无论举报了多少次"bug"(故意的),只好求助高手了
该网页并没有使用真正的 HTML 复选框,而是使用了他们称之为 "md-checkboxes" 的东西。这是一件 "AngularJS" 的事情。 AngularJS 手册没有任何解释,我浏览的众多网页(包括 Stack Overflow 问题)也没有解释。 None 看似相关的代码片段除了在控制台中转储各种错误外什么都不做。
这是我的整体结构:
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);
我间隔一段时间执行此操作的原因是它们似乎不是立即重新检查,而是在页面加载后大约一秒钟后重新检查。
for (var i = 0; i < checkboxes.length; i++)
{
let x = checkboxes[i];
if(x.getAttribute("aria-checked") === "true")
x.classList.toggle("md-checked");
}
在浪费了无数汗流浃背的时间之后,咒骂和诅咒我唯一可以使用的食品店的名字,以及他们如何在每次加载页面时不断检查他们的用户敌对选项,无论我取消选中它们多少次,无论举报了多少次"bug"(故意的),只好求助高手了
该网页并没有使用真正的 HTML 复选框,而是使用了他们称之为 "md-checkboxes" 的东西。这是一件 "AngularJS" 的事情。 AngularJS 手册没有任何解释,我浏览的众多网页(包括 Stack Overflow 问题)也没有解释。 None 看似相关的代码片段除了在控制台中转储各种错误外什么都不做。
这是我的整体结构:
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);
我间隔一段时间执行此操作的原因是它们似乎不是立即重新检查,而是在页面加载后大约一秒钟后重新检查。
for (var i = 0; i < checkboxes.length; i++)
{
let x = checkboxes[i];
if(x.getAttribute("aria-checked") === "true")
x.classList.toggle("md-checked");
}