Установка Cookie для модального диалога JQuery UI - PullRequest
2 голосов
/ 05 мая 2011

У нас есть модальное диалоговое окно 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>

ВАЖНОЕ СООБЩЕНИЕ ДЛЯ ДЕРЖАТЕЛЕЙ ATM / DEBIT CARD

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

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

Ответы [ 2 ]

1 голос
/ 05 мая 2011

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

//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);
0 голосов
/ 31 мая 2018

Когда нажмете кнопку закрытия, куки будут сохранены как (имя файла 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');

});
...