我只是 Javascript 的新手,但我遇到了一些严重的问题,我在不同的来源上搜索了很多小时,所以我决定发布这个问题。
在刷新或关闭 ASP.NET 页面之前,如何停止/暂停 JavaScript? 这是代码:
<script type="text/javascript">
window.onbeforeunload = confirmExit;
function confirmExit() {
var connection = new Ext.data.Connection({
defaultHeaders: {
'Content-Type': 'application/json'
}
});
connection.request({
url: 'services/vault/deletewfinstace/'
});
refresh();
//alert("Helloo");
}
function refresh() {
setTimeout(function () { window.location.reload() }, 6000);
}
</script>
在这段代码中,我在事件上调用了一个javascript函数:window.onbeforeunload,并尝试在该函数完成其工作后放置一个setTimeout(),但页面仍然刷新或关闭,而没有正确完成该函数的内容。当我在函数末尾使用alert()时,函数内的内容将成功执行,但这对用户来说有点烦人。请帮忙。谢谢。
最佳答案
我认为connection.request
是异步的。当您发送请求时,JS 运行器将空闲,导致窗口重新加载。如果您希望浏览器在重新加载之前等待,请尝试使请求同步。
关于javascript - 页面刷新前暂停 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474749/