我正在开发一个项目(与昨天的:)相同),它涉及大量的后台ajax加载以保持页面更新。我的问题是ie7似乎表现得好像async被设置为false - 它只是在调用ajax请求时冻结。起初这是可以忍受的,但是现在脚本变得更加复杂,它会冻结大约6秒钟,解冻1或2,然后不断重复。
我把它缩小到这个重复发生的后台调用(当我不重复调用它时它工作正常),每5秒调用一次:
var currentPerformance=0;
function updatePerformanceCodes(){
$.post("performanceCodes.php",{id:performances[currentPerformance], timestamp: updates[performances[currentPerformance]]},
function(data){
if(data!="."){
if(performanceCodes[performances[currentPerformance]]==""){
performanceCodes[performances[currentPerformance]]+=data.split('?')[0];
}
else{
performanceCodes[performances[currentPerformance]]+=","+data.split('?')[0];
}
}
drawCurrentSeats();
$.post("familyCodes.php",{id:performances[currentPerformance], timestamp: updates[performances[currentPerformance]]},
function(data){
if(data!="."){
if(familyCodes[performances[currentPerformance]]==""){
familyCodes[performances[currentPerformance]]+=data.split('?')[0];
}
else{
familyCodes[performances[currentPerformance]]+=","+data.split('?')[0];
}
updates[performances[currentPerformance]]=data.split('?')[1];
}
drawCurrentFamilies();
});
if(currentPerformance<performances.length-1){
currentPerformance++;
updatePerformanceCodes();
}
else{
currentPerformance=0;
}
});
}
我读过,即有时候有缓存问题,使用post
会阻止这种情况,但这似乎没有帮助。我在页面上还有许多其他AJAX组件,即使在同时调用5或6时也能正常工作,这使得这更加令人困惑。
任何人都可以想到我可以修改这段代码的任何方式,以便ie7在运行时不会冻结吗?