我的网站上有一个模式,当他们第一次访问条款和条件时弹出。令人烦恼的是,一旦他们同意它不断刷新的条款。
是否有任何简单的方法可以向bootstraps模式添加cookie,因此当用户访问时他们只需要同意一次?
是否需要插件?
答案 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");