停止iframe的jQuery load()事件

时间:2011-03-07 17:52:45

标签: ajax jquery load jquery-load

我正在使用jQuery load()事件将页面加载到iframe中。正在加载的页面包含一个访问两个API的脚本,因此需要一些时间来加载(~15-30秒)。我想在加载屏幕上添加一个按钮/链接,您可以单击该按钮/链接取消加载,否则您将无法离开该页面。目前,我有:

<script>
function callIframe(url) {
    $('#analyticsloader').show();
    $('#analytics').html('<iframe src="" allowtransparency="yes" style="width:735px;height:1510px;border:0;" id="analyticsiframe"></iframe>');
    $('iframe#analyticsiframe').attr('src', url);
    $('iframe#analyticsiframe').load(function(){
        $('#analyticsloader').hide();
    });
}
$(function(){
    callIframe('analytics/index.php');
    var start, end;
    $('#updateStats').click(function(){
        start = $('#startDate').val();
        end = $('#endDate').val();
        callIframe('analytics/index.php?start='+start+'&end='+end);
    });
});
</script>

#analyticsloader是一个带有ajax加载器图形的div和“请等待我加载等等”,我想在其中添加一个取消按钮来阻止load()函数执行。

2 个答案:

答案 0 :(得分:0)

你的问题的答案可能在这里:

How to cancel a jquery.load()?

答案 1 :(得分:0)

尝试:

$('.abort-ajax').click(function(){
     x.abort();
});

其中“x”是保存ajax请求的变量。

或此jquery plugin