0

到目前为止,我的想法是实现一个函数 popup("url") 检查通过加载页面正文触发的现有 cookie(onLoad - 我知道这不是一个好的解决方案)。我使用此处的确切代码来实现我在 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=/";
    }
4

1 回答 1

1

忘记 cookie,使用localStorage,因为它有一个更实用的界面,并且没有路径、过期和域的奇怪东西:

if(!window.localStorage.getItem('hasShown')) {
  showMyPopup();
  window.localStorage.setItem('hasShown', true);
}

在 HTML5 中实际上有一个更实用的 cookie 接口,但它还没有像 localStorage 那样被广泛支持。

于 2015-07-13T14:24:20.957 回答