繁体   English   中英

防止Javascript页面重新加载

[英]Prevent Javascript Page Reload

我使用这个javascript每30秒自动刷新一次页面。

<script type="text/javascript">
    window.setTimeout(function(){ document.location.reload(true); }, 30000);
</script>

我需要在重新加载页面之前随时向用户提供禁用此功能的选项。

注意:这适用于管理面板,而不是公共网站,客户端的要求是页面自动刷新,并可选择通过单击按钮在刷新之前停止刷新。

有没有办法实现这一点......那就是..在执行之前禁用javascript?

clearTimeout():通过调用setTimeout()取消先前建立的超时。

您正在搜索clearTimeout()

var refresh = window.setTimeout(function(){ document.location.reload(true); }, 30000);

$('body').on('click', '#my-button', function(){
    clearTimeout(refresh);
})

希望这可以帮助。

请执行下列操作:

reload = window.setTimeout(function(){ document.location.reload(true); }, 30000);

或者,如果使用jQuery,

$("#non-reload-button").click(function(){
  clearTimeOut(reload)
});

这样做:

var myVar;

function myFunction() {
    myVar = window.setTimeout(function(){ document.location.reload(true); }, 30000);
}

function myStopFunction() {
    clearTimeout(myVar);
}

您只需调用myStopFunction即可停止自动重新加载。

下面是每隔500毫秒继续执行的代码,直到您单击按钮停止它为止。 只需将500替换为您想要的时间,并将console.log替换为您希望运行的操作。 希望这可以帮助!

 let auto_refresh_active = true; const refresh = () => { window.setTimeout(e => { console.log('Hey, I am running! Click the button to stop me!') if(auto_refresh_active == true) refresh(); }, 500) } refresh(); document.querySelector('button').addEventListener('click', e => auto_refresh_active = false); 
 <button>stop running</button> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM