javascript - Jquery - 卸载前发布

标签 javascript jquery

我想在卸载之前发布数据(就在访问者关闭页面之前)。不同浏览器的卸载可能会有所不同,所以我做了以下脚本;

$(document).ready(function(){

var runme = true;

$(window).bind('beforeunload', function () {
    if(runme){

if ($("#benyaziyormuyum").val()=="evet") {

$.post("yazmabirak.php", {
karsidaki: "exited",
});

}
        runme=false;
    }

});

$(window).unload(function () {
    if(runme){

$.post("yazmabirak.php", {
karsidaki: "exited",
});
        runme=false;
    }
});

它适用于除 Chrome 之外的所有浏览器。我的问题是,应该使用哪个 before unload 函数才能使其在 Chrome 上运行?

最佳答案

你确定它没有被调用吗?

$.post 是一个异步调用,没有什么可以阻止浏览器在 $.post() 之后继续。

您需要使用 $.ajax() 使其同步,您可以在其中设置 async: false

how to make a jquery "$.post" request synchronous

http://api.jquery.com/jquery.ajax/

关于javascript - Jquery - 卸载前发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35236025/

相关文章:

Javascript 给出 InvalidCharacterError

javascript - 加密算法列表

javascript - 我该如何更有效地提供基于文本的网页?

javascript - 在特殊字符后找到一个字符串,移动它并在其周围包裹一个 div

javascript - 获取所选项目的值

jquery - 对象不支持属性或方法 'selectbox'

javascript - 从 laravel 中的 Controller 返回 JSON 响应

javascript - Node ,等待并重试失败的 api 调用

javascript - HTML5 2 音频标签

javascript - Owl Carousel 改变形象