在Firefox

时间:2015-07-31 08:38:06

标签: javascript jquery html firefox local-storage

下面是我的代码......

$(window).load(function () {
    localStorage.setItem(breakbackToLogin + "userStatus", "loggedin");
    localStorage.setItem(breakbackToLogin + "userAthome", "yes");
    localStorage.setItem(breakbackToLogin + "session", jsessionId);
});
window.onfocus = function () {
    if (localStorage.getItem(breakbackToLogin + "userAthome") === "yes") {
        //  alert("I am if");
        if (localStorage.getItem(breakbackToLogin + "userStatus") !== "loggedin") {
            // alert('inside if');                       
            localStorage.setItem(breakbackToLogin + "userStatus", "loggedin");
        } else if (jsessionId !== localStorage.getItem(breakbackToLogin + "session")) {

            window.location.reload();
        }
    } else {
        //   alert('I am else');
        if (localStorage.getItem(breakbackToLogin + "userStatus") !== "loggedin") {
            // alert('inside else');
            window.location.reload();
        }
    }
};

登录后,在主页中,在localstorage" loggedin"值将被设置。即。加载功能正在执行。这件事适用于chrome,safari和explorer。但是在单独的firefox中,在页面加载时会触发onfocus事件。由于这个焦点的事情,我的主页不断重新加载,直到从该页面删除焦点。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在加载回调中定义焦点事件:

$(window).load(function () {
    window.onfocus = function () {};
});