0

如果这是重新发布,我很抱歉,但我无法弄清楚。我正在加载一个充满图像的页面,如果用户在下载图像之前离开,我想停止下载。我认为我有 abort() 工作,但文件继续下载。

$(document).ready(function(){
var jqXHR;
$('.buttons li#stop').click(function(){
    jqXHR.abort();
    alert('aborted');
}); 
$('.buttons li#start').click(function(){
    jqXHR = $.ajax({
    dataType:"html",
    url:"images.php",
    success: function(data){
        $('.pageContent').html(data);
    }
    });         
});     

});

4

1 回答 1

0

您的 jqXHR 可能已经完成,并且您获得的 HTML 已经插入到 .pageContent 中。浏览器正在下载 HTML 中指定的图像,因此您无法通过中止 jqXHR 来停止它。

您可以尝试将 .pageContent 的 html 设置为空,但我不知道这是否会按您的预期工作。

$(document).ready(function(){
    var jqXHR;
    $('.buttons li#stop').click(function(){
        jqXHR.abort();
        $('.pageContent').html(data);
        alert('aborted');
    }); 
    $('.buttons li#start').click(function(){
        jqXHR = $.ajax({
        dataType:"html",
        url:"images.php",
        success: function(data){
            $('.pageContent').html(data);
        }
        });         
    });     
});

或者您可以点击浏览器的停止按钮。

于 2012-11-08T02:30:30.480 回答