我在Greasemonkey中使用waitForKeyElements并且不理解这段代码:
if (!alreadyFound) {
//--- Call the payload function.
var cancelFound = actionFunction (jThis);
if (cancelFound)
btargetsFound = false;
else
jThis.data ('alreadyFound', true);
}
actionFunction
是我传入的回调。它应该只返回undefined
,除非我编码返回一些东西,对吧?我会在什么条件下这样做? btargetsFound
需要为True才能阻止waitForKeyElements稍后调用自己。所以返回某些东西意味着"我找到的元素之一,即使我找到它并在其上调用有效负载函数,我仍然需要重试?"
答案 0 :(得分:1)
是的,您的理解是正确的。另一种说法是回调可以返回true
说“这个元素匹配选择器,但不是我想要的那个,稍后再试”。我猜这是因为你想要的东西是通过多个AJAX调用在几个阶段构建的,或者是那些沿着这些路线的东西。
请注意,返回true
将导致在下次计时器触发时使用相同的元素再次调用回调。