Jquery AJAX请求挂起/崩溃Safari

Jquery AJAX请求挂起/崩溃Safari,jquery,ajax,safari,Jquery,Ajax,Safari,我遇到了相当奇怪的虫子。在特定的AJAX请求中,Safari会挂起整整60秒,然后显示请求返回的数据。一个人声称它完全毁了他的Safari(台式机和移动设备)。这在任何其他浏览器中都不会发生。这个请求似乎没有什么特别之处,但它确实发生了。$(this.attr('data-lb-daysago')-7,30,90,180有4个可能的值。问题只发生在30。 代码如下: $('[data-lb-daysago]').click(function () { if (parseInt($(thi

我遇到了相当奇怪的虫子。在特定的AJAX请求中,Safari会挂起整整60秒,然后显示请求返回的数据。一个人声称它完全毁了他的Safari(台式机和移动设备)。这在任何其他浏览器中都不会发生。这个请求似乎没有什么特别之处,但它确实发生了。
$(this.attr('data-lb-daysago')
-7,30,90,180有4个可能的值。问题只发生在30。 代码如下:

$('[data-lb-daysago]').click(function ()
{
    if (parseInt($(this).attr('data-lb-daysago')) != daysago)
    {
        $('#load_more_row_lb').html(loader());
        $('[data-lb-daysago]').removeClass('active_da');
        $(this).addClass('active_da');
        $('[data-lb-last-offset]').hide();
        daysago = parseInt($(this).attr('data-lb-daysago'));
        var request = {action: 'leaderboard_ajax', daysago: daysago, offset: 0};
        $.ajax({type: "post", dataType: "json", url: ep_ajax_object.ajax_url, data: request}).done(function (e)
        {
            $('[data-lb-last-offset]').attr('data-lb-last-offset', e.offset);
            $('[data-lb-last-offset]').html(e.html);
            $('[data-lb-last-offset]').show();
            if (typeof e.nomore == 'undefined')
            {
                $('#load_more_row_lb').html('<span class="load_more_button" id="load_more_lb">Load More <span class="fi-expand-down" title="expand down" aria-hidden="true"></span></span>');
                bind_things();
            }
            else
            {
                $('#load_more_row_lb').html('<span class="load_more_button" id="load_more_lb">Load More <span class="fi-expand-down" title="expand down" aria-hidden="true"></span></span>');
                bind_things();
                $('#load_more_row_lb').hide();
            }
        });
    }
});
$(“[data lb daysago]”)。单击(函数()
{
if(parseInt($(this).attr('data-lb-daysago'))!=daysago)
{
$('#load_more_row_lb').html(loader());
$('[data lb daysago]')。removeClass('active_da');
$(this.addClass('active_da');
$('[data lb last offset]')。隐藏();
daysago=parseInt($(this.attr('data-lb-daysago'));
var请求={action:'leadboard_ajax',daysago:daysago,offset:0};
$.ajax({type:“post”,dataType:“json”,url:ep\u ajax\u object.ajax\u url,data:request}).done(函数(e)
{
$(“[data-lb-last-offset]”)。attr('data-lb-last-offset',e.offset);
$('[data lb last offset]')。html(e.html);
$('[data lb last offset]')。显示();
if(e.nomore的类型=='undefined')
{
$('load#more_row_lb').html('load more');
把东西捆起来;
}
其他的
{
$('load#more_row_lb').html('load more');
把东西捆起来;
$('#加载更多行'.hide();
}
});
}
});

这里是在黑暗中拍摄的,但我会提出一些建议: 1.在您的请求之前是否有其他请求被阻止?有时用户会安装广告拦截器、隐私插件等来阻止后续请求的下载,这一点尤其正确,因为Ajax调用会在稍后发生。 2.Safari有一个bug(ehm,性能增强),当您有多个并发Ajax请求时,它会阻塞,所以如果您有长时间的轮询或某些阻塞,您的请求也会被阻塞。(我在iOS6上遇到了很大的问题,不确定从那以后它是否得到了修复)