0

我只是 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() 时,函数内部的内容将成功执行,但这对用户来说有点烦人。请帮忙。谢谢你。

4

2 回答 2

2

我想那connection.request是异步的。当您发送请求时,JS 运行器将空闲,导致窗口重新加载。如果您希望浏览器在重新加载之前等待,请尝试使请求同步。

于 2013-01-23T07:53:18.853 回答
1

创建一个同步 Ajax 请求,这将锁定浏览器,直到服务器响应。

于 2013-01-23T07:53:04.930 回答