我正在尝试编写一个 Greasemonkey 脚本,其中.load()
使用 for 循环加载不同的页面并将它们的一些信息存储在localStorage
. 我的问题:因为.load()
是异步的,所以效果不好。我的脚本只存储我要存储的 Last 值。我认为那是因为我使用了var i
内部回调函数,并且当回调函数被触发时i
已经有另一个值。
for (var i = 0; i < plantsDiv.length; i++)
{
objectid = plantsDiv[i].getAttribute('objectid');
$("#wrap").load("index.php?objectid="+ objectid,function(){
//[...] what is happening
window.localStorage.setItem(objectid,value);
});
}
当我alert("foo")
在回调函数和 for 循环结束之间插入时,一切正常,因为该.load
函数已加载,而我在警报窗口中单击“确定”。有没有办法让 for 循环等到整个.load
执行完毕?
谢谢你的帮助,对不起我的英语不好:)