显示Colorbox Onload页面加载

时间:2012-05-21 23:42:22

标签: cookies colorbox onload

我正在处理使用ColorBox为首次访问者发送消息的代码。我一直在引导代码,这就是我到目前为止......

<html>
<head>
<script type="text/javascript">
<script src="../colorbox/jquery.colorbox.js"></script>
<script type="text/javascript" src="scripts/jquery.cookies.2.2.0.min.js"></script>

<script>


function loadMsg()
{
$(document).ready(function(){
if ($.cookie('newsletter') != '0') {
$.colorbox({href:"newsletter.html"});
$.cookie('newsletter', '1', { expires: 60}); }
}}

</script>
</head>

<body onload="loadMsg()">
<h1>Hello World!</h1>
</body>
</html>

这会不会让弹出窗口第二次出现。你能帮我弄清楚我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

您使用哪种插件进行Cookie?我怀疑$ .cookie('newsletter')在没有cookie时返回字符串值'0'。我想它会返回一个假值。你确定它不应该是这样的:

if (!$.cookie('newsletter')) {
    $.colorbox({href:"newsletter.html"});
    $.cookie('newsletter', '1', { expires: 60}); }
}

或者删除cookie插件并编写自己的cookie检测代码。这样的一次性用例并不困难。

答案 1 :(得分:0)

上面的代码可能是随地吐痰不是函数是未定义的错误。

以下是今天应该有效的更新代码(请注意我使用的是jQuery Cookie library):

<html>
<head>

<script type="text/javascript" src="/js/colorbox/jquery.colorbox-min.js"></script>
<script type="text/javascript" src="/js/jquery-cookie/jquery.cookie.js"></script>

<script type="text/javascript">

    function loadMsg(){

        jQuery.noConflict();
        jQuery(document).ready(function(){
            if (!jQuery.cookie('popupcookie')) {
                jQuery.colorbox({href:"newsletter.html", width: 640, height: 460});
                jQuery.cookie('popupcookie', '1', { expires: 1}); }
        })}

</script>
</head>

<body onload="loadMsg()">
  <h1>Hello World!</h1>
</body>

</html>

这应该让你去。在此示例btw中,到期时间设置为1天。