该脚本应该计算 cookie 设置的次数,并在计数为 1 或 2 时执行特定操作。由于某种原因,它与开关中的 1 不匹配。我尝试将其作为字符串“1”进行,并尝试以多种不同的方式重写它。似乎没有什么可以匹配。
<HTML>
<HEAD>
<TITLE>Hello World</TITLE>
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
function SetCookie(name, value, time)
{
var expires = new Date(); expires.setTime( expires.getTime() + time ); document.cookie = name + '=' + value + '; expires=' + expires.toGMTString() + '; path=/';
}
function GetCookie(name)
{
var cookies = document.cookie.toString().split('; ');
var cookie, c_name, c_value;
for (var n=0; n<cookies.length; n++)
{
cookie = cookies[n].split('='); c_name = cookie[0]; c_value = cookie[1];
if ( c_name == name )
{ return c_value; }
}
return null;
}
function CheckTarget(e)
{
var cookieValue = GetCookie('vrOp');
if (cookieValue === null) {
var cookieOp = 1;
SetCookie('vrOp', cookieOp, 5*24*60*60*1000);
}
else {
switch(cookieValue)
{
case 1:
var cookieOp = cookieValue + 1;
alert(cookieOp);
SetCookie('vrOp', cookieOp, 5*24*60*60*1000);
break;
case 2:
var cookieOp = cookieValue + 1;
SetCookie('vrOp', cookieOp, 5*24*60*60*1000);
break;
}
}
}
function InitVr()
{
if ( document.attachEvent )
{
document.attachEvent( 'onclick', CheckTarget );
}
else if ( document.addEventListener )
{
document.addEventListener( 'click', CheckTarget, false );
}
}
InitVr();
</SCRIPT>
<script type="text/javascript">
</script>
</BODY>
</HTML>
如果它确实有效,您应该不会在第一次单击时从脚本中得到任何反应,因为 cookieValue 为 === null,除了它将 cookie 值设置为 1。在第二次单击时,它应该提醒您 cookie 值现在将变为是 2。第三次单击不会再次发出警报,但是当设置为 3 时的值。就好像开关甚至没有运行一样。