如此处所示:
我有一个异步脚本。我想将一个值传递给这个函数,以便在调用 onload 函数时可以使用它在网页中显示。
我面临的挑战是,每次我将它传递给函数时,这个值都会改变。
因此,例如,如果我传入“abc”、“def”、“xyz”。
我最终会得到
xyz
xyz
xyz
代替
abc
def
xyz
所以,我的问题是,我如何将一个值传递给这个函数,以便函数的每次调用都知道在完成时要显示什么?
如此处所示:
我有一个异步脚本。我想将一个值传递给这个函数,以便在调用 onload 函数时可以使用它在网页中显示。
我面临的挑战是,每次我将它传递给函数时,这个值都会改变。
因此,例如,如果我传入“abc”、“def”、“xyz”。
我最终会得到
xyz
xyz
xyz
代替
abc
def
xyz
所以,我的问题是,我如何将一个值传递给这个函数,以便函数的每次调用都知道在完成时要显示什么?
您正在寻找关闭:-
var urls = {"abc": "http://somehost/aurl",
"def": "http://somehost/otherurl",
"ghi": "http://someotherhost/aurl" }
for (var k in urls)
{
GM_xmlhttpRequest({
method: 'GET',
url: urls[k],
onload: function(text) {
return function(xhr) {
//Do stuff with xhr responseText etc and the text parameter
alert(text)
}
}(k)
}
}
这将在每个未完成的请求完成后提醒“abc”、“def”和“ghi”。