在我开始之前,我是JavaScript的新手,并且在没有被教授的情况下给我们一个艰难的任务。 所以这就是我的问题:我修改了W3C.org中的代码,用于创建cookie,阅读和检查以包含“访问”和#39;部分(对于点击计数器)并使其每次加载页面时(从服务器而不是在离线模式下)访问号码将增加1。 但是在下面的程序中,输出总是"访问次数:1":
function setCookie(cname, cvalue, exdays, visits) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
var visit = (visits + 1);
document.cookie = cname + "=" + cvalue + "; " + expires + "; visits=" + visit;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}
function checkCookie() {
var user = getCookie("username");
var visitCount = getVisits();
if (user != "") {
alert("Cookie: " + user + "\n" + "Visits: " + visitCount);
setCookie("username", user, 365, visitCount);
} else {
user = "TheName"; alert("Cookie: " + user + "\n" + "Visits: " + visitCount); setCookie("username", user, 365, visitCount);
}
}
//this is the place where the problem occurs, but not sure.
function getVisits() {
var visit = getCookie("visits");
var visitNumber = visit.substring(7);
if (visitNumber == 1) {
return visitNumber;
}
else {
visitNumber += 1; return visitNumber;
}
}
&#13;
在这个程序中,输出总是&#34;访问次数:null&#34;喜欢没有输出数字:
function setCookie(cname, cvalue, exdays, visits) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
var visit = (visits + 1);
document.cookie = cname + "=" + cvalue + "; " + expires + "; visits=" + visit;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}
function checkCookie() {
var user = getCookie("username");
var visitCount = getVisits();
if (user != "") {
alert("Cookie: " + user + "\n" + "Visits: " + visitCount);
setCookie("username", user, 365, visitCount);
} else {
user = "TheName"; alert("Cookie: " + user + "\n" + "Visits: " + visitCount); setCookie("username", user, 365, visitCount);
}
}
function getVisits() {
var visit = getCookie("visits");
var visitNumber = visit.substring(7);\
// this is the change in the program from the first code
if (visitNumber >= 1) {
visitNumber += 1; return visitNumber;
}
else {
return visitNumber;
}
}
&#13;
非常感谢你:)