waitForKeyElements中的这段代码是做什么的?

时间:2016-02-11 17:27:14

标签: javascript greasemonkey

我在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稍后调用自己。所以返回某些东西意味着"我找到的元素之一,即使我找到它并在其上调用有效负载函数,我仍然需要重试?"

1 个答案:

答案 0 :(得分:1)

是的,您的理解是正确的。另一种说法是回调可以返回true说“这个元素匹配选择器,但不是我想要的那个,稍后再试”。我猜这是因为你想要的东西是通过多个AJAX调用在几个阶段构建的,或者是那些沿着这些路线的东西。

请注意,返回true将导致在下次计时器触发时使用相同的元素再次调用回调。