2

ここに示されているように:

GM_xmlhttprequest から値を返すにはどうすればよいですか?

非同期のスクリプトがあります。onload 関数が呼び出されたときにそれを使用して Web ページに表示できるように、この関数に値を渡したいと思います。

私が抱えている課題は、関数に渡すたびにこの値が変化することです。

たとえば、「abc」、「def」、「xyz」を渡したとします。

私はで終わるだろう

xyz
xyz
xyz

それ以外の

abc
def
xyz

それで、私の質問は、関数の各呼び出しが完了時に何を表示するかを知るために、この関数に値を渡すにはどうすればよいですか?

4

1 に答える 1

5

あなたは閉鎖を探しています:-

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」が警告されます。

于 2009-02-08T20:16:41.063 に答える