停止 iframe 的 jQuery load() 事件

发布于 2024-10-20 20:31:00 字数 956 浏览 3 评论 0原文

我正在使用 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,并且“请稍候,我正在加载 blah blah”,我想在其中添加一个 Cancel 按钮来停止 load()函数执行。

I'm using the jQuery load() event to load a page into an iframe. The page that is being loaded contains a script which access two API's and therefore take some time to load (~15-30 seconds). I want to add a button/link to the loading screen that you can click to cancel the load, otherwise you are unable to navigate away from the page. Currently, I have:

<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 is a div with an ajax loader graphic and "Please wait while I load blah blah", I would like to add a Cancel button into it that would stop the load() function from executing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丢了幸福的猪 2024-10-27 20:31:00

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

如何取消 jquery.load()?< /a>

the answer to your question might be here:

How to cancel a jquery.load()?

梦里的微风 2024-10-27 20:31:00

尝试:

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

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

或这个 jquery 插件

Try:

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

where "x" is a variable where you save the ajax request.

or this jquery plugin.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文