2016-01-10 32 views
0

我的网站上有一个模式,当他们第一次访问条款和条件时弹出。令人讨厌的是,一旦他们同意它不断刷新的条款。将最简单的方法添加到Bootstrap的模态?

是否有任何简单的方法添加一个cookie引导模式,所以当用户访问他们只需要同意一次?

插件是否必要?

回答

1

你不需要的插件,只是一些简单的“醇的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'); 
} 
+0

作品的完美! –

相关问题