停止 iframe 的 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,并且“请稍候,我正在加载 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的问题的答案可能在这里:
如何取消 jquery.load()?< /a>
the answer to your question might be here:
How to cancel a jquery.load()?
尝试:
其中“x”是保存ajax请求的变量。
或这个 jquery 插件。
Try:
where "x" is a variable where you save the ajax request.
or this jquery plugin.