javascript - 为什么从同一设备查看 3 次后重定向页面不起作用?

标签 javascript html local-storage server-side

如果用户在同一网页上出现 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
}

关于javascript - 为什么从同一设备查看 3 次后重定向页面不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23281659/

相关文章:

HTML 到 NSAttributeString 与 & 的问题

html - 链接样式上的奇怪宽度

javascript - 为什么 Electron 应用程序从开发工具访问时没有 localStorage 对象? (Ctrl-Shift-I)

javascript - 在 WebView 中访问本地存储

javascript - react : set value with two last input numbers

javascript - 图像随机无法正确设置高度

javascript - 将 object.keys 从对象数组映射到字符串

javascript - AngularJS 1.2 到 1.3 clientWidth 不再正确

javascript - 用于隐藏网页上特定 div 的 URL/地址栏代码

ajax - HTML5 localStorage 键顺序