Javascript 如何预先计算WaitForkPellments()回调中使用的内容?

Javascript 如何预先计算WaitForkPellments()回调中使用的内容?,javascript,jquery,scope,greasemonkey,tampermonkey,Javascript,Jquery,Scope,Greasemonkey,Tampermonkey,我正在使用这个惊人的脚本(wfke),它帮助处理用户脚本中动态加载的内容 它做得很好,但是我在预先计算一些变量,然后在wfke执行时使用这些变量时遇到了很多麻烦 基本上,它可以正确地为一个节点列表运行数百次,所有节点都可以立即加载(在页面加载之后)。但我不能为列表中的每一项创建昂贵的变量和进行昂贵的计算。所以我尝试在wfke函数之外做这些 正如您在下面的示例中所看到的,我尝试了两种不同的方法来预先设置变量“icons”,但这两种方法都不起作用。我猜这可能是@require脚本的一个功能?将脚本复

我正在使用这个惊人的脚本(wfke),它帮助处理用户脚本中动态加载的内容

它做得很好,但是我在预先计算一些变量,然后在wfke执行时使用这些变量时遇到了很多麻烦

基本上,它可以正确地为一个节点列表运行数百次,所有节点都可以立即加载(在页面加载之后)。但我不能为列表中的每一项创建昂贵的变量和进行昂贵的计算。所以我尝试在wfke函数之外做这些

正如您在下面的示例中所看到的,我尝试了两种不同的方法来预先设置变量“icons”,但这两种方法都不起作用。我猜这可能是
@require
脚本的一个功能?将脚本复制粘贴到我的主脚本中可以解决问题吗?那是唯一的办法吗

// @require         https://gist.github.com/raw/2625891/waitForKeyElements.js
var icons = $('some stuff');
//Run for every BOX element that gets loaded by ajax
waitForKeyElements(".box", main);

function main(jqnode){
  if (typeof icons === 'undefined') { //icons is undefined here, and will be again the next time this function is run.
  var icons = $('some stuff');
  }
 jqnode.append(icons);
}
在Chrome中,Tampermonkey(beta)

指的是“和”

执行此操作时:

var icons = $('some stuff');
anywhere在函数
main()
scope中,它创建一个局部变量,用于代替全局范围变量。在执行
if()
语句时,此函数作用域变量未定义

问题也不清楚,;我假设您想将图标复制到所有
.box
节点?代码当前的结构是只有一组图标,并将它们移动到最后出现的
。box

如果你想要一份,请使用。比如:

// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js

var icons = $('some stuff');

//Run for every BOX element that gets loaded by ajax
waitForKeyElements (".box", main);

function main (jqnode){
    jqnode.append (icons.clone () );
    /*-- Or use this to copy event handlers, but should be using 
        `.on()` instead, anyway.

    jqnode.append (icons.clone (true) );
    */
}

如果这不是您想要的,请澄清并指定