如何在非活动的iframe中停止javascript ajax请求?
我制作了网站,其中各种其他页面都内置为带i帧的“应用程序”:
在这些应用程序中,执行了javascript代码,其中包括非常频繁的HTTP请求。
$('#app1button').click(function () { //Here i have to stop the HTTP-Requests which where fired from the JS of App2 hideAllApps(); showApp(app1); });
app1非常频繁地从服务器轮询信息:
app1.php里面有Javascript ::
Handler = window.setInterval(getStatus, 100); //start status messages
当我现在点击app2时,另一个应用程序弹出,我想停止由于性能原因加载到app1.php中的javascript。
$('#app2button').click(function () { //Here i have to stop the HTTP-Requests which where fired from the JS of App1 hideAllApps(); showApp(app2); });
我怎样才能做到这一点? 你有什么想法?
提前致谢。
在frame2中,您可以尝试window.parent.frame["frame1"].stop()
,在第1帧中,您将stop()定义为清除间隔的函数。
由于所有iframe都有自己的窗口。您可以使用window.onfocus
。 window.onblur
。 将代码放在每个iframe中。 的jsfiddle
var Handler ; window.onfocus = function(){ Handler = window.setInterval(getStatus, 100); //start status messages } window.onblur = function(){ clearInterval(Handler ); }
确保两个iframe都隐藏在页面加载上
一旦打开它们
$('#app2button').click(function () {
添加javascript代码以加载内容
$('#app2button').html().load()