Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保存用户的最佳方式是什么';对HTML应用程序的更改?_Javascript_Ajax_Cookies_Storage - Fatal编程技术网

Javascript 保存用户的最佳方式是什么';对HTML应用程序的更改?

Javascript 保存用户的最佳方式是什么';对HTML应用程序的更改?,javascript,ajax,cookies,storage,Javascript,Ajax,Cookies,Storage,我目前正在这个网站上工作 我现在正试图保存用户的进度(他们购买的物品、他们的鸡蛋、成本等)鸡蛋的数量作为cookie,但我想知道是否有办法保存对JavaScript和HTML的所有更改。如果这是一个愚蠢的问题,我很抱歉,我可以使用jqueryjavascript或AJAX(我想这就是您如何做到的) 这就是我现在正在做的 function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime()

我目前正在这个网站上工作 我现在正试图保存用户的进度(他们购买的物品、他们的鸡蛋、成本等)鸡蛋的数量作为cookie,但我想知道是否有办法保存对JavaScript和HTML的所有更改。如果这是一个愚蠢的问题,我很抱歉,我可以使用jqueryjavascript或AJAX(我想这就是您如何做到的)

这就是我现在正在做的

function setCookie(cname, cvalue, exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays*24*60*60*1000));
  var expires = "expires="+ d.toUTCString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.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 cookie = getCookie("eggs");
  if (cookie != "") {
     eggs = cookie;
  } else {
      setCookie("eggs", eggs, 365);
  }
}

$(window).bind("beforeunload", function() {
  setCookie("eggs", eggs, 365);
  if (notThis) {
    return "Do you want to exit this page?";
  }
});
函数setCookie(cname、cvalue、exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.toutString();
document.cookie=cname+“=”+cvalue+”;“+expires+”;path=/”;
}
函数getCookie(cname){
变量名称=cname+“=”;
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(“;”);

对于(var i=0;i我自己实际上也在做一个类似的任务。cookie相当有限。我建议将所有这些信息存储在
窗口、localStorage
窗口、sessionStorage
对象中,这取决于您希望数据存储在用户设备上的永久性。这是一种保存所有信息的好方法rts数据,无论是字符串、数字、JSON还是转义HTML代码

Digital Ocean在这里有一篇很好的文章:

<body onload="checkCookie()">