javascript - waitForKeyElements 中的这段代码有什么作用?

标签 javascript greasemonkey

我正在使用waitForKeyElements在 Greasemonkey 中,但不理解这段代码:

if (!alreadyFound) {
                //--- Call the payload function.
                var cancelFound     = actionFunction (jThis);
                if (cancelFound)
                    btargetsFound   = false;
                else
                    jThis.data ('alreadyFound', true);
            }

actionFunction 是我传入的回调。它应该只返回 undefined 除非我对其进行编码以返回某些内容,对吗?在什么条件下我会这样做? btargetsFound 需要为 True 才能阻止 waitForKeyElements 稍后调用自身。因此,以某种方式返回某些内容意味着“我找到的元素之一,即使我找到了它并在其上调用了有效负载函数,我仍然需要重试?”

最佳答案

是的,您的理解是正确的。另一种说法是回调可以返回 true 来表示“此元素与选择器匹配,但不是我想要的,请稍后再试”。我猜这适用于您想要的内容是通过多个 AJAX 调用分几个阶段构建的情况,或者类似的情况。

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

关于javascript - waitForKeyElements 中的这段代码有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35346069/

相关文章:

javascript - 如何根据百分比机会运行 IF JS 逻辑?

javascript - 从 AJAX 响应中提取值

javascript - 右键单击音频被禁用

javascript - 为什么 TinyMCE 将 dir ="ltr"添加到我所有粘贴的标签中

google-chrome - 在不重新安装的情况下更新 chrome 中的油脂猴脚本?

javascript - window.location.href 改变时的事件

php - Javascript和PHP之间的区别

javascript - 将 Javascript 变量添加到 HTML 元素

javascript - 使用javascript在本地保存信息

javascript - 退出 document.evaluate