检查页面加载上的cookie

时间:2010-11-13 17:10:50

标签: javascript dom cookies

我希望浏览器首先检查是否存在名为“是”的cookie。

如果是,我想显示一条消息。

如果没有,我想显示:

<input type="button" id='approve' value="approve" onclick="a()"/>
<input type="button" id='reject' value="reject" onclick="r()"/>

我如何实现这一目标?我希望它是客户端。

1 个答案:

答案 0 :(得分:2)

快速而肮脏的方式是使用document.write()内联。假设有一个预定义的cookie getter函数:

// taken from http://www.elated.com/articles/javascript-and-cookies/
function get_cookie ( cookie_name ){
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}

然后在你的html某处:

<div id="container">
    <script>
    if (get_cookie("cookiename") == null){
        document.write("[cookie exists message]")
    } else {
        document.write('<input type="button" id='approve' value="approve" onclick="a()"/><input type="button" id='reject' value="reject" onclick="r()"/>')
    }
    </script>
</div>

如果要在加载页面后进行渲染:

function showit(){
    var myhtml;
    if (get_cookie("cookiename") == null){
        myhtml = "some message";
    } else {
        myhtml = '<input type="button" id='approve' value="approve" onclick="a()"/><input type="button" id='reject' value="reject" onclick="r()"/>'
    }
    document.getElementById("container").innerHTML = myhtml;
}