Javascript 在计算机/ip上保存随机图片

Javascript 在计算机/ip上保存随机图片,javascript,html,cookies,Javascript,Html,Cookies,我有一个脚本,在按下按钮后绘制一幅随机图片 var imagesArray = ["slonce.gif", "gwiazda.gif", "kochankowie.gif", "wieza.gif"]; function displayImage(){ var num = Math.floor(Math.random() * 4); // 0...6 document.picture.src = imagesArray[num]; } 我希望这张照片能在计算机或随机分配它

我有一个脚本,在按下按钮后绘制一幅随机图片

var imagesArray = ["slonce.gif", "gwiazda.gif", "kochankowie.gif", "wieza.gif"];

function displayImage(){
    var num = Math.floor(Math.random() * 4); // 0...6
    document.picture.src = imagesArray[num];

}
我希望这张照片能在计算机或随机分配它的IP上被记住一整天。 我读过关于本地存储和cookies的文章,但我不知道如何设置此选择的生存期

我创造了一些这样的东西,而且很有效

function createCookie(cookieName,cookieValue)
    {
      var date = new Date();
      date.setTime(date.getTime()+(1*24*60*60*1000));
      document.cookie = cookieName + "=" + cookieValue + "; expires=" + date.toGMTString();
    }
function getCookie(cookieName)
    {
      var name = cookieName + "=";
      var allCookieArray = document.cookie.split(';');
      for(var i=0; i<allCookieArray.length; i++)
      {
        var temp = allCookieArray[i].trim();
        if (temp.indexOf(name)==0)
        return temp.substring(name.length,temp.length);
       }
      return "";
    }
function checkCookie()
    {
      var number = getCookie("randomPicture");
      if (number!=""){
        document.picture.src = imagesArray[number];
      }
      else
      {
        var num = Math.floor(Math.random() * 4); // 0...3
        document.picture.src = imagesArray[num];
        if (num!=null)
        {
        createCookie("randomPicture", num);
        }
      }
    }
函数createCookie(cookieName,cookieValue)
{
变量日期=新日期();
date.setTime(date.getTime()+(1*24*60*60*1000));
document.cookie=cookieName+“=”+cookieValue+“expires=“+date.TogmString();
}
函数getCookie(cookieName)
{
变量名称=cookieName+“=”;
var allCookieArray=document.cookie.split(“;”);
对于(var i=0;i您有一个简单的选择,就是在计算机上存储一个cookie,该cookie在一天后过期。然后,在加载页面时,您可以使用JavaScript检查cookie是否存在

如果是,则可以显示按钮,否则显示图片

介绍如何存储cookie并提供以下功能:

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=/";
}
他们还编写了获取cookie的函数:

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 "";
}
函数getCookie(cname){
变量名称=cname+“=”;
var decodedCookie=decodeURIComponent(document.cookie);
var ca=decodedCookie.split(“;”);

对于(var i=0;i),您应该显示到目前为止您已经尝试过的内容,以便我们可以尝试帮助您解决问题。您不能为localStorage指定过期时间-我认为对于localStorage解决方案,您最好存储一个时间戳,并在用户再次加载页面/运行displayImage()时检查它