Javascript cookie 永远关闭

Javascript cookie dismiss forever

我有模态弹出窗口询问用户是否愿意订阅我的时事通讯。如果用户关闭模式,我不希望它再次出现。使用我下面的代码,弹出窗口每天多次显示。我需要添加什么才能使弹出窗口关闭后不会再次出现?

//custom.js
if (!readCookie("close_subcribeModal")) {
    function subcribeModal() {
      $("#subcribeModal").modal("show");
    }
    setTimeout(function () {
      subcribeModal();
    }, 5000);
}

网页:

@if(!isset($_COOKIE['close_subcribeModal']) && @$_COOKIE['close_subcribeModal'] != "1")
<div id="subcribeModal" tabindex="-1" role="dialog" aria-labelledby="subcribeModalLabel" aria-hidden="true">
    <div role="document">
        <div class="modal-content">
            <button type="button" id="subcribeModal__close" class="cancel" data-dismiss="modal" aria-label="Close"></button>
            <div class="modal-body">
                    <h2 class="title">Welcome</h2>
                    <p>Would you like to receive our weekly newsletter?</p>
                    <x-mail.newsletter-subscription />
            </div>
        </div>
    </div>
</div>
@endif

看起来您正在使用 Bootstrap,当模态 window 被隐藏(或关闭)时,事件 hidden.bs.modal 被触发。

因此,如果事件发生,我们会创建一个 cookie(将其添加到您的视图底部)

$("#subcribeModal").on('hidden.bs.modal', function() {
     Cookies.set('modalShowed','active');
});

if (!readCookie("close_subcribeModal"))更改为if(Cookies.get('modalShowed') != 'active') 并在您的视图中删除此 if 语句 @if(!isset($_COOKIE['close_subcribeModal']) && @$_COOKIE['close_subcribeModal'] != "1")