javascript - 页面刷新前暂停 JavaScript

标签 javascript asp.net settimeout onbeforeunload

我只是 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/

相关文章:

javascript - 在 JS 中将构造变量添加到 HTML

javascript - 如何将输入的文本附加到 ASP.NET MVC 项目文件中的 .txt 文件中?

c# - Response.Redirect 模式内的按钮

javascript - 如何将警报附加到音频,javascript

javascript - seTtimeout 为零秒

javascript - 异常: Google is not defined [Cordova geolocation]

javascript - 为什么 "$(this.target).val()"(引用输入元素)的值是 "undefined"?

asp.net - 在 asp.net 中根据设备应用不同的 css?

javascript - 防止页面重新加载时设置超时功能

javascript - 将不同大小的图像样式化为固定大小的网格