当用户在浏览器关闭时,向服务器后台发送ajax请求。代码如下。

测试结果:Safari浏览器不支持,其余浏览器支持。

    if ($("#new-post").length > 0 && $("#new-post input[name='_post_post_id']").length > 0) {
        function my_sava_auto_draft() {
            var post_id = $("input[name='_post_post_id']").val();
            $.ajax({
                type: "POST",
                datatype: 'json',
                async: false, //异步执行设置为 false 否则浏览器刷新时不会执行
                url: ajaxurl,
                data: {
                    'post_id': post_id,
                    'action_name': '_my_save_auto_draft',
                    'action': 'my_action',
                }
            });
        }
        window.onbeforeunload = function(e) {
            my_sava_auto_draft();
        }
        $("form").on("submit", function() {
            // window.onbeforeunload = null;
        });
    }

写一条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注