我正在处理使用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>
这会不会让弹出窗口第二次出现。你能帮我弄清楚我错过了什么吗?
答案 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天。