如何跟踪用户是否关闭标签并向他显示研究窗口?

时间:2013-09-04 08:23:40

标签: javascript jquery

所以,例如。我想跟踪用户是否离开了登陆页面而没有做任何事情(不只是离开,关闭标签),并且停止关闭,向他展示带有几个研究问题的表格。 (如果他再次点击关闭或提交表单选项卡应该关闭)。 可能吗? 可能有些提示如何做到这一点?我知道大多数浏览器都有一些保护措施,可以防止spaming用户发出警报等等。

1 个答案:

答案 0 :(得分:2)

你需要这样的东西

    function formIsDirty(form) {
    for (var i = 0; i < form.elements.length; i++) {
        var element = form.elements[i];
        var type = element.type;
        if (type == "checkbox" || type == "radio") {
            if (element.checked != element.defaultChecked) {
                return true;
            }
        }
        else if (type == "hidden" || type == "password" ||
                 type == "text" || type == "textarea") {
            if (element.value != element.defaultValue) {
                return true;
            }
        }
        else if (type == "select-one" || type == "select-multiple") {
            for (var j = 0; j < element.options.length; j++) {
                if (element.options[j].selected !=
                    element.options[j].defaultSelected) {
                    return true;
                }
            }
        }
    }
    return false;
}


        window.onbeforeunload = function (e) {
            e = e || window.event;
            if (!formIsDirty(document.getElementById(formId))) {
                // For IE and Firefox
                if (e) {
                    e.returnValue = message;
                }
                // For Safari
                return message;
            }
        };