如果用户在同一网页上访问3次,我将在下面使用此javascript将用户重定向到另一个网页,但不幸的是,它无法正常工作。

var count = Number( localStorage.visitCount );

if(!isNaN(count) {
   localStorage.visitCount = 1
} else {
   localStorage.visitCount++
}

if( localStorage.visitCount === 3 ) {
   window.location.replace('http://stackoverflow.com')
}


重定向不起作用。有人可以告诉我我在做什么错吗?谢谢。

最佳答案

尝试这个:

var count = Number( localStorage.visitCount );

if(isNaN(count)) { // <-- you forget bracker here
   localStorage.visitCount = 1
} else {
   localStorage.visitCount++
}

if( localStorage.visitCount >= 3 ) {
   window.location.replace('http://stackoverflow.com')
}


而且,正如Eric J.在this answer中所说,这似乎是第一个if中的逻辑错误。它应该是isNaN(count),而不是!isNaN(count)。他的回答中有解释。

另外,正如gilly3在他的帖子中提到的,当localStorage.visitCount大于3时,您必须处理情况。

if( localStorage.visitCount > 3 ) {
   // handler for this situation
}

07-24 09:38