Показывать уведомления Jquery с поддержкой cookie при загрузке страницы - PullRequest
4 голосов
/ 18 декабря 2010

Я прошел через форумы и прочитал много постов, касающихся моего вопроса, но я не смог найти ответ, который искал.

Я хочу показать сообщение с jquery дляПользователь на странице загрузки и позволяет им закрыть div, нажав на ссылку закрытия.После закрытия сценарий должен помнить, что он не должен открываться снова во время этого сеанса.Я предполагаю, что он будет использовать cookie.

Вот XHTML:

<div class="alertbox">
  <span class="message">Please upgrade your browser</span>
  <div class="bloc_navigateurs"> 
    <a href="http://download.mozilla.org/?product=firefox-3.6.13&amp;os=win&amp;lang=fr" target="_blank"><img src="includes/themes/default/images/icons/misc/Firefox-16.gif" width="16" height="16" alt="Firefox" /></a>
    <a href="http://www.google.com/chrome?hl=fr" target="_blank"><img src="includes/themes/default/images/icons/misc/Chrome-16.gif" width="16" height="16" alt="Chrome" /></a>
    <a href="http://www.01net.com/telecharger/windows/Internet/navigateur/fiches/13759.html" target="_blank"><img src="includes/themes/default/images/icons/misc/IE-16.gif" width="16" height="16" alt="Internet Explorer " /></a>
  </div>
  <span class="close">close</span>
</div>

Как вы можете видеть, это советует пользователю IE6 обновить свой браузер

Ответы [ 3 ]

3 голосов
/ 18 декабря 2010

Я бы использовал плагин jQuery cookie .

Свяжите обработчик для события onclick закрытия ссылки, которое создает cookie. Перед отображением div проверьте наличие cookie.

<script>
$(function() {
  var $box = $(".alertbox"),
      stateCookieName = 'alertbox_state',
      alreadyClosed = $.cookie(stateCookieName);

  // The box should already be hidden initially (using CSS preferrably).
  // If not, uncomment the line below:
  // $box.hide();

  // Show the box if it hasn't already been closed.
  if (alreadyClosed != 1) {
    $box.show();
  }

  $box.find('.close').click(function() {
    $box.hide();
    $.cookie(stateCookieName, 1);
  });
});
</script>
0 голосов
/ 12 апреля 2011

Я думаю, вы найдете помощь по этой ссылке:
http://www.thinkbohemian.com/2010/04/22/stack-overflow-style-notifications-using-jquery/

0 голосов
/ 18 декабря 2010

получить функции cookie из здесь , затем вы можете установить alertBox как скрытый по умолчанию и:

$(document).ready(function(){
  if(readCookie('warnedIE')==null){
    $('.alertbox').show();
   createCookie('warnedIE','true',30);
  }
});
...