我已经使用一些代码自动跟踪了Greasemonkey中Instagram上的某个人,但是当我在Chrome的Tampermonkey中尝试该代码时,我得到一个带有感叹号的符号,表示未定义'filterArrButtons'。
这是代码
window.addEventListener('DOMContentLoaded', function() {
setInterval(function() {
var btns = document.getElementsByClassName("_5f5mN");
for (var i = 0; i < btns.length; i++) {
if (btns[i].innerHTML == "Follow") {
btns[i].click();
}
}
for (var x = 0; x <= filterArrButtons.length - 1; x++) {
var df = filterArrButtons[x].classList;
df = df.value.split(" ");
simulateCliks(filterArrButtons[x], "click");
}
}, 2000);
});
function simulateCliks(el, evntType) {
if (el.fireEvent) {
el.fireEvent('on' + evntType);
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(evntType, true, false);
el.dispatchEvent(evObj);
}
}
});
这是我遇到的错误的屏幕截图
我已经尝试寻找所遇到问题的答案,但找不到任何东西。它可以在Firefox的Greasemonkey中使用,但不能在Chrome的Tampermonkey中使用。
答案 0 :(得分:0)
运行
GreaseMonkey和ViolentMonkey的默认值为'document-end'
,而Firefox content_scripts的默认运行密码为'document_idle'
,FireMonkey和TamperMonkey的默认密码也是如此。
GreaseMonkey document-end
ViolentMonkey document-end
FireMonkey document-idle
TamperMonkey document-idle
TamperMonkey中的 document-idle
表示脚本是在'DOMContentLoaded'
之后注入的,因此'DOMContentLoaded'
将永远不会触发该事件。
完整的脚本未显示,因此不清楚是否设置run-at
或将其保留为默认值。