我有一个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
函数在第一次加载时不运行?
答案 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();
}
}