此腳本應計數cookie的設置次數,並在count爲1或2時執行特定操作。由於某種原因,它不會匹配1中的1開關。我曾嘗試將它作爲字符串「1」來操作,我試圖用許多不同的方式重寫它。似乎沒有什麼能讓它匹配。Javascript:switch與從cookie中提取的變量值不匹配
<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腳本反應===空,但它設置爲1的cookie值。第二次點擊它應該提醒您cookie值現在將變爲2.第三次點擊不會再次發出警報,但是當設置爲3時,該值不會再發出警報。就好像交換機沒有運行一樣。
alert或console.log cookie值 – mplungjan 2013-02-20 13:41:49
只是一個觀察 - 除了'alert'語句,您的'case 1'和'case 2'主體是相同的。 – JAAulde 2013-02-20 14:00:43