我想知道如果用户在同一网页上出现3次,是否有可以重定向到其他网页的javascript或html代码?我有时会在有试用版的网站上看到这一点。
感谢您的回答。
答案 0 :(得分:1)
正如 jods 所说,做客户端(JavaScript)是不安全的。简单的“清理”您的浏览器历史记录撤消诀窍..
但是这里有一个简单的例子,说明如何使用localStorage:
/*
use this to reset the code:
localStorage.setItem('visited', 0);
*/
var views = localStorage.getItem('visited');
views = (views===undefined)? 1 : parseInt(views)+1;
if (views<=3)
{
localStorage.setItem('visited', views);
document.write('You visited this page for the: ' + views + ' time!');
}
else
{
document.write('You can only view it 3 times!');
}
答案 1 :(得分:0)
这在服务器端处理得更好。我不知道你使用什么技术(PHP,.NET,Java),但服务器可以轻松检查客户端的IP地址,并在3次后返回不同的答案,如重定向响应。
可以像使用cookies或localStorage建议的那样处理客户端,但如果您的目标是安全性(例如试用限制),那么效果非常差。 Cookies和localStorage很容易清除,用户可以自己获得3次免费访问。
答案 2 :(得分:0)
你不能使用Javascript完成 ,你必须与服务器通信并以这种方式实现它。
如果您想将 IP地址替换为设备,则可以使用localStorage
或Cookie。
以下是使用localStorage
var count = Number( localStorage.visitCount );
if(isNaN(count)) {
localStorage.visitCount = 1
} else {
localStorage.visitCount++
}
if( +localStorage.visitCount === 3 ) {
window.location.replace('http://stackoverflow.com')
}