简单模态|首次访问的年龄验证|关闭但没有cookie

时间:2013-11-17 00:38:51

标签: javascript jquery simplemodal

我一直试图在第一次访问我的网站时弹出SimpleModal Age Verification页面。意思是如果以前的网站不是我显示弹出窗口。下面的代码是我到目前为止的代码。基本上问题是,当我点击一个链接时,我偶尔会无缘无故地获取弹出窗口。我也找不到押韵或理由。我通过这段代码得到了很多人的帮助。我会稍微进一步然后弹出一个问题,然后我会修复它,另一个弹出。我希望我能在这里离得很近。 ;)

谢谢你们!

<div class="age" id="verify"> 
    <div><img src="/image/white.png"></img></div>
    <div id="noman">ARE YOU OVER 18?</div>
    <div> 
      <p> If not, leave now and we wont tell your mom.
        </br>  By continuing you agree you are 18 or older.
      </p>
    </div>
    <div id="YN">
      <a href="javascript:redirect(window.location.href);" id="old">Yes</a>
        &nbsp;&nbsp;&nbsp;&nbsp;
      <a href="http://www.poo.com" rel="nofollow" id="young">No</a>
    </div>
</div>

<script>
$(document).ready(function(){
if ( document.referrer == null || document.referrer.indexOf(window.location.hostname) < 0 ) {
$("#verify").modal({opacity:85, position: ["20%",""], onOpen: function (dialog) {
    dialog.overlay.fadeIn('slow', function () {
        dialog.container.slideDown('slow', function () {
            dialog.data.fadeIn('slow');
            return false;
        });
    });
}});
}
});
</script>

<script type="text/javascript" >            
function redirect(url) {
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
        var referLink = document.createElement('a');
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    } else {
        location.href = url;
    }
}
</script>

1 个答案:

答案 0 :(得分:1)

问题是您使用document.referrer,但应避免使用它。

例如,我使用Firefox的about:config页面禁用了它。

即使启用,它也不适用于window.open

然后,更好地使用sessionStorage(或localStorage)等内容。