阻止 Javascript 页面重新加载
Prevent Javascript Page Reload
我正在使用这个 javascript 每 30 秒自动刷新一次页面。
<script type="text/javascript">
window.setTimeout(function(){ document.location.reload(true); }, 30000);
</script>
我需要给用户一个选项,让用户可以在页面重新加载之前随时禁用此功能。
注意:这是针对管理面板的,而不是 public 网站,客户端的要求是页面自动刷新,并可选择通过单击按钮在刷新发生之前停止刷新.
有什么办法可以做到这一点......也就是说..在执行之前禁用javascript?
clearTimeout() : Cancels a timeout previously established by calling 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>
我正在使用这个 javascript 每 30 秒自动刷新一次页面。
<script type="text/javascript">
window.setTimeout(function(){ document.location.reload(true); }, 30000);
</script>
我需要给用户一个选项,让用户可以在页面重新加载之前随时禁用此功能。
注意:这是针对管理面板的,而不是 public 网站,客户端的要求是页面自动刷新,并可选择通过单击按钮在刷新发生之前停止刷新.
有什么办法可以做到这一点......也就是说..在执行之前禁用javascript?
clearTimeout() : Cancels a timeout previously established by calling
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>