2012-06-07 94 views
0

您好,我需要一些关于建立一个消息框,告诉观众我的网站使用cookie的一些帮助,这是由于新的欧盟法律关于必须要求他们的权限来保存cookie。 我从来没有手动设置饼干之前,我很难找到我想要什么或需要。为cookies设置一个消息框

基本上,当观众第一次看这个网站时,顶部有一个盒子,它解释了网站使用cookies,他们可以查看cookies做什么,接受或不接受。

我已经有了一个盒子,我现在需要的是一个脚本,如果观众点击是并接受,那么一个cookie将永远记住它,除非他们从他们的浏览器中删除这些cookie,并且如果他们点击不,它会记住这一点,而不会在该会议的其余部分显示。

我希望这是有道理的。

+0

哇。法律规定我们需要询问人们是否可以保存cookie。疯。如何告诉人们如何关闭cookies?大政府。啧!无论如何,你有什么尝试或研究过? –

+0

是的,我知道,他们说关闭浏览器中的cookies并不够好,因为浏览器不够精致... 我试过了很多尝试实现这个功能的不同方法,但是我发现并尝试过的一切都没有没有按我的意愿工作。 如果你看BBC​​的网站,它会给你一个我想要实现的想法...... http://www.bbc.co.uk – Pezmo

+0

有人请帮助....我从来没有问过在我总是自己研究或解决问题之前寻求任何帮助,但这个问题让我感到困惑。它可能非常简单,也许我只是在寻找答案。 – Pezmo

回答

0

试试这个:

javascript.alert("By continuing to browse our site, you accept to our use of cookies.") 
0

一种方式去这样做,这是下面。


1)创建一个JavaScript方法,如果启用了Cookie以及用户是否已经接受他们,检查

var cookieLaw = { 
setCookies : function (showCookieMsg) { 
    if(navigator.cookieEnabled == true) { 
    if(document.cookie.indexOf('cookie-permission') == -1) { 
    showCookieMsg(); 
    } 
    } 
}, 

2)如果启用了Cookie,但不接受消息将显示

showMessage : function() { 
    $('body').append('<div id="cookie-message">[your_cookie_message]<a id="continue-link" href="#">X Don't show this message again.</a></div>'); 
    $('#cookie-message').fadeIn(); 
    $('#continue-link').click(function() { 
    $('#cookie-message').fadeOut(); 
    document.cookie = "cookie-permission=accepted; expires=Thu, 31 Jan 2030 23:59:59 UTC; path=/"; 
    }); 
} 
}; 

3)执行代码当一个页面已准备就绪:

#cookie-message {display:none;} 

你的CSS文件,如果你需要一些其他格式:

jQuery(document).ready(function() { 
cookieLaw.setCookies(cookieLaw.showMessage); 
}; 

4)加入使消息无形


请注意,此方法针对启用了JavaScript的浏览器。对于非JS浏览器,需要添加一些服务器端代码。