如何在非活动的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.onfocuswindow.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()