HTTP同步请求会阻止我的GIF在Chrome和IE中移动吗?

时间:2011-08-19 22:35:38

标签: javascript google-chrome xmlhttprequest gif

在Firefox中,我发生了一个同步请求(它必须是同步或后来的JS无法正常运行)现在在XMLHttpReq函数中它基本上将DIV的一个内容更改为一个小的加载徽标(转动cog)所以你可以看到进展...在FF这100%异步或同步... Chrome和IE没有这样的运气..?

任何人都可以帮助我或解释原因吗?我猜它与它们有关,禁用所有其他进程,但如果是这样我怎么能让这个工作或评估和JS文件后这个原始的XMLHttpReq加载?

2 个答案:

答案 0 :(得分:1)

Is there any reason to use a synchronous XMLHttpRequest?

同步调用会占用您的浏览器,直到事务完成,这就是建议不要这样做的原因。

您应该查看异步调用的排序。含义......问题不在于您的异步调用,而是您{y} it must be sync or the later JS will not run correctly的原因。在AJAX回调中设置completed变量非常简单,其他有问题的JS在执行之前可以检查。

答案 1 :(得分:0)

Frame.js旨在启用同步请求,而无需挂断浏览器。

Frame(function(next){
    startImageRotation();
    next();
});
Frame(function(next){
    $.ajax('someUrl.api', {
        ...
        complete: next
    });
});
Frame(function(next, response){
    // do stuff with ajax response
});

其他评论者说,由于浏览器支持不佳,真正的同步AJAX请求几乎无用。 Frame.js被设计为解决该问题的方法。祝你好运。