当前位置: 代码迷 >> JavaScript >> Firefox中页面加载触发Javascript Onfocus
  详细解决方案

Firefox中页面加载触发Javascript Onfocus

热度:70   发布时间:2023-06-05 11:56:57.0

下面是我的代码...

$(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();
        }
    }
};

登录后,在主页中的本地存储中将设置“ loggedin”值。 即。 加载功能正在执行。 这个东西正在Chrome,Safari和Explorer中运行。 但是在单独的Firefox中,页面加载时会触发onfocus事件。 由于存在焦点问题,因此我的主页将不断重新加载,直到焦点从该页面上移开为止。 如何解决这个问题?

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

$(window).load(function () {
    window.onfocus = function () {};
});
  相关解决方案