如何使用onolad的JS函数在第一页加载时不起作用。

时间:2015-05-07 22:35:49

标签: javascript jquery

我有一个html页面,它有一个在页面加载后可以工作的功能。

<body onload="startNow()">

如果不满足某个条件,则此startNow函数有一个刷新页面的部分,从而导致该函数再次运行。

function startNow() {
    var warning_check = document.getElementsByClassName("warning");
    if (warning_check.length == 0) {
        checkAll(); //another function call
    } else {
        window.location.reload();
    }
}

有没有办法让这个startNow函数在第一次加载时不运行?

1 个答案:

答案 0 :(得分:3)

使用localStorage轻松完成

function startNow(){
    var warning_check = document.getElementsByClassName("warning");
    if(warning_check.length == 0) {
            checkAll(); //another function call
    } else {
        if (!!localStorage.returningUser){
            window.location.reload();
        } 
    }
    localStorage.returningUser = 'true';
}

编辑

上述功能仍然为首次使用的用户运行,但如果代码到达重新加载点则不会重新加载。如果你想编码停止运行那么

function startNow(){
    if (!localStorage.returningUser){
        localStorage.returningUser = 'true';
        return false;
    }
    var warning_check = document.getElementsByClassName("warning");
    if(warning_check.length == 0) {
            checkAll(); //another function call
    } else {
        window.location.reload();
    }
}