向Bootstrap的模态添加cookie的最简单方法是什么?

时间:2016-01-10 02:08:03

标签: javascript twitter-bootstrap cookies

我的网站上有一个模式,当他们第一次访问条款和条件时弹出。令人烦恼的是,一旦他们同意它不断刷新的条款。

是否有任何简单的方法可以向bootstraps模式添加cookie,因此当用户访问时他们只需要同意一次?

是否需要插件?

2 个答案:

答案 0 :(得分:2)

你不需要一个插件,只需要一些简单的'ol javascript即可。

首先,当模态关闭时,这会设置一个cookie:

$('#myModal').on('hidden.bs.modal', function (e) {
    // set cookie
   document.cookie = "showModalOnlyOnce=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";
})

然后,只要您的代码打开模态,请先检查cookie,如下所示:

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
            if (c.indexOf(name) != -1) return c.substring(name.length,c.length);
        }
    return "";
}

// open modal only if cookie is not set
if ( getCookie('showModalOnlyOnce') !== 'true' ) {
    $('#myModal').modal('show');
}

答案 1 :(得分:0)

使用localStorage?设置接受t&amp; c&s;然后检查负载是否存在?

https://developer.mozilla.org/en/docs/Web/API/Window/localStorage http://www.w3schools.com/html/html5_webstorage.asp

localStorage.setItem("tcAccepted", "true");