一次访问后显示不同的HTML代码

时间:2015-12-29 20:31:57

标签: javascript

只使用Javascript,有人可以创建一个使用" XY"的html文件。用户第一次访问它时的HTML代码,但它应该使用" ZQ" (这是一个完全不同的)第一次访问后的HTML代码?所以在同一用户的第二次,第三次等访问中。可能有很多用户。

问题:该html文件会是什么样子?怎么做?是否可以只使用javascript?

1 个答案:

答案 0 :(得分:1)

您可以使用Cookie或LocalStorageLocalStorage更容易实施,但需要最新的浏览器,用户可能出于隐私原因禁用Cookie。

<强>缓存

function setCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
    var nameEQ = name + "=";
    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,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

// First Visit
if (getCookie("visited") == null) {
  // XY code.
  alert("XY Code here");
  // set the cookie
  setCookie("visited", "yes", 10);
} else {
  // subsequent visit.
  // ZQ code.
  alert("ZQ Code here");
}

<强> localStorage的

if (typeof(Storage) !== "undefined") {
  if (localStorage.getItem("visited") == "yes") {
    // subsequent visit.
    // ZQ code.
    alert("ZQ Code here");
  } else {
    // XY code.
    alert("XY Code here");
    // set the cookie
    localStorage.setItem("visited", "yes");
  }
} else {
  // Sorry! No Web Storage support..
  // Use the above cookie method.
}