如何停止在非活动的Iframe的javascript Ajax请求?(How to stop jav

2019-09-23 08:31发布

我做了网站,在那里各种其他页面是内置的“应用程序”与I帧:

<iframe id="frame1" src="./app1.php">
<iframe id="frame2" src="./app2.php">

在这些应用程序中,执行等等非常高频繁的HTTP请求的JavaScript代码。

$('#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

现在当我点击APP 2,与其他应用程序弹出,我想停下来的JavaScript,这是加载app1.php,由于性能方面的原因。

$('#app2button').click(function () {
    //Here i have to stop the HTTP-Requests which where fired from the JS of App1
    hideAllApps();
    showApp(app2);
});

我怎样才能做到这一点? 你有什么想法?

提前致谢。

Answer 1:

从内帧2,你可以尝试window.parent.frame["frame1"].stop()并在第1帧定义的stop()作为清除的间隔的功能。



Answer 2:

由于所有的I帧,有自己的window.You可以使用window.onfocuswindow.onblur 。 把每个代码的iframe内。 的jsfiddle

var Handler ;
window.onfocus = function(){
         Handler = window.setInterval(getStatus, 100); //start status messages

}
window.onblur = function(){

  clearInterval(Handler );
}


Answer 3:

确保两个iFrame是隐藏在页面加载

一旦你打开他们

$('#app2button').click(function () { 

添加的JavaScript代码来加载与所述内容

$('#app2button').html().load()


文章来源: How to stop javascript ajax requests in inactive Iframe?