如何用JS判断一个静态页面是否已经登录?我想用JS实现这样的功能:
一个页面在用户未登录时有部分内容是不可见的,登录后才能出现,我想用JS的判断思路是这样的:1. 用户登录时程序已生成一个COOKIE文件,文件名假定为acook;
2.JS判断是否存在该COOKIE文件,如果不存在,则JS输出“你未登录,该内容不可见”;JS如果判断存在该cookie文件
  则输出“已经登录,内容输出”;
请问老鸟,这段代码如何写?我是一个初学者,不胜感激!

解决方案 »

  1.   

    起作用的是3个方法:setCookie getCookie delCookie<input type="text" value="" id="text1"/>
    <input type="button" value="保存cookie" onclick="setCookie('username',document.getElementById('text1').value);location.reload();"/>
    <input type="button" value="清除cookie" onclick="delCookie('username');location.reload();"/>
    <br/>
    这里显示cookie里的值:
    <div id="div1"></div>
    <script>
    //写cookies函数
    //两个参数,一个是cookie的名称,一个是值
    function setCookie(name,value)
    {
    var Days = 30; //此 cookie 将被保存 30 天
    var exp  = new Date(); //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }//读取cookies函数
    function getCookie(name)
    {
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr != null) return unescape(arr[2]); return null;
    }//删除cookie
    function delCookie(name)
    {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }// 判断是否已经登录
    // username是随便定义的,可以是其他名称
    if(getCookie("username")){
    document.getElementById("div1").innerHTML = getCookie("username");
    }else{
    document.getElementById("div1").innerHTML = "没有登录";
    }
    </script>
      

  2.   

    可以用AJAX做
    需要登陆的才能看到的那块 默认载入的时候是看不到的
    用AJAX判断  如果登陆了 就显示出来