我只是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()时,函数内部的内容将成功执行,但对用户来说有些烦人。请帮忙。谢谢。
答案 0 :(得分:2)
我认为connection.request
是异步的。当您发送请求时,JS runner将是空闲的,导致窗口重新加载。如果您希望浏览器在重新加载之前等待,请尝试使请求同步。
答案 1 :(得分:1)
创建一个同步Ajax请求,这将锁定浏览器,直到来自服务器的响应。