到目前为止,我的想法是实现一个函数弹出窗口(“url”)来检查现有的cookie,它是通过加载页面主体来触发的(onLoad - 不是我知道的一个很好的解决方案)。我使用here中的确切代码来实现我在application.js中包含的cookie功能。在那里,我还包括我的popup()
功能:
function popUp(startimage) {
var x = readCookie('ecocrowd')
if (x = 'nopopup') {
}
else {
jQuery.slimbox(startimage);
}
}
在我的开始页面的html模板中,我包含以下部分:
<body onLoad="popup("wirdiezukunft.png")">
和
<script>createCookie('ecocrowd','nopopup',7)</script>
我错过了什么吗?这是我第一次使用这样的Javascript实现,所以我会感激任何帮助。提前致谢!
更新(createcookie()的内容):
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
答案 0 :(得分:1)
忘记cookie,使用localStorage,因为它有一个更实用的界面,并没有路径,到期和域名的奇怪东西:
if(!window.localStorage.getItem('hasShown')) {
showMyPopup();
window.localStorage.setItem('hasShown', true);
}
HTML5中实际上有一个更实用的cookie接口,但它并没有像localStorage那样受到广泛支持。