Проверка наличия cookie на странице загрузки - PullRequest
0 голосов
/ 13 ноября 2010

Я хочу, чтобы браузер запустился, проверив, существует ли cookie с именем «да».

Если это так, я хочу отобразить сообщение.

Если нет, я хочуотобразить это:

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

Как мне этого добиться?Я хочу, чтобы это было на стороне клиента.

1 Ответ

2 голосов
/ 13 ноября 2010

Быстрый и грязный способ - использовать встроенный document.write (). Допустим, есть предопределенная функция получения cookie:

// 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...