2012-05-21 46 views
0

我正在研究將爲第一次使用ColorBox的訪問者發送消息的代碼。我一直在引導代碼,這是我迄今爲止... ...顯示器Colorbox Onload頁面加載

<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> 

這會保持彈出窗口再次顯示。你能幫我弄清楚我錯過了什麼嗎?

回答

0

您使用什麼插件進行cookie?我懷疑$ .cookie('newsletter')在不存在cookie的情況下返回字符串值「0」。我想它會返回一個虛假的價值。你確定它不應該是這樣的:

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

或者刪除cookie插件並編寫你自己的cookie檢測代碼。像這樣的一次性用例並不困難。

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> 

這應該讓你去。在此示例中,過期時間設置爲1天。