Установка cookie для модального диалога jQuery UI

#jquery #user-interface #cookies #modal-dialog

#jquery #пользовательский интерфейс #файлы cookie #modal-dialog

Вопрос:

При входе в наш продукт интернет-банкинга у нас появляется модальный диалог jQuery UI для отображения сообщения. Это всплывает каждый раз. Теперь мы хотим сделать это основанным на cookie, чтобы пользователь видел это поле только один раз, пока их cookie-файлы не будут удалены. Как я могу этого добиться?

 <body onLoad="loadPage();" onUnload="unloadPage();">
<script>

$(function() {
    // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
    //$( "#dialog:ui-dialog" ).dialog( "destroy" );


    $( "#dialog-modal" ).dialog({
        height: 475,
        width: 550,
        position: 'top',
        modal: true,
        buttons:{ "Close": function() { $(this).dialog("close"); } },
        draggable: false,
        resizable: false
    });

});


</script>
  

ВАЖНОЕ СООБЩЕНИЕ ДЛЯ ВЛАДЕЛЬЦЕВ БАНКОМАТОВ / ДЕБЕТОВЫХ КАРТ

Недавно изменились федеральные правила, что означает, что мы должны получить ваше разрешение на рассмотрение возможности выплаты овердрафтов по вашим ежедневным дебетовым транзакциям.

Пожалуйста, нажмите здесь, чтобы узнать важную информацию о сборах за овердрафт и транзакциях по дебетовой карте.

Ответ №1:

Проще всего вы можете создать cookie для сохранения того, видели они его или нет, используя плагин jQuery Cookie:

 //Set a cookie value
$.cookie('seen', 'yes');

//get the value
var seen = $.cookie('seen');
if(seen == null) { /*have not seen, show modal*/ }

//delete cookie
$.cookie('seen', null);
  

Ответ №2:

При нажатии кнопки закрытия файл cookie будет сохранен как значение (имя файла cookie = subscribe_popup_status ) (показано)

$.cookie(«cookie_name», «cookie_value»);

 $( '.home_page_popup' ).dialog({ 
   autoOpen: false,
   closeText: "",
   modal: true,
   resizable: false,
   icon: "ui-icon-heart",
   classes: {
       "ui-dialog": "home_page_popup_dialog"
   },
   width: pop_up_width
});

$(".home_page_popup").on("click",".popup_close",function() {

    if ($.cookie('subscribe_popup_status') == null) {
       $.cookie('subscribe_popup_status', 'shown',{ expires: popup_duration });
    }

    $( '.home_page_popup' ).dialog('close');

});
  

Комментарии:

1. Код всегда хорош, но описание или некоторые комментарии о том, что он делает, также полезны.

2. craigcaulfield — объясняется в заголовке