【发布时间】:2013-09-07 10:37:48
【问题描述】:
我正在尝试将 carhartl 的 jquery.cookie.js 脚本添加到我的 modal script 中,这样只有当用户 3 天没有出现/看到模式或者用户最近清除了那里的缓存时,我才能显示模式.
这是我目前所拥有的......
此代码当前通过自动单击按钮启动模式窗口来启动我的模式,并且运行良好。 (我知道可能有一种方法可以重新工作,这样它就可以自动加载模式而不需要按钮,所以如果你能帮助我重新工作那部分,我也会很感激。)
<div style="visibility:hidden;">
<button class="md-trigger" id="modal11" data-modal="modal-11"></button>
</div>
<script>
jQuery(function(){
jQuery('#modal11').click();
});
</script>
但是当添加脚本添加cookie到我的模式时,我似乎遇到了一个问题,请查看下面的代码,看看我哪里出错了......
<div style="visibility:hidden;">
<button class="md-trigger" id="modal11" data-modal="modal-11"></button>
</div>
<script>
$(document).ready(function() {
if ($.cookie('modal_shown') == null) {
$.cookie('modal_shown', 'yes', { expires: 3, path: '/' });
$('#modal11').click();
}
});
</script>
提前感谢您对此提供的任何帮助,非常感谢您的帮助! ;-)
这是我的更新,基于 @zigdawgydawg 的帮助...但它仍然对我不起作用...
<script>
$(document).ready(function() {
$('#modal11').click(function();
});
console.log($.cookie('modal_shown'));
if ($.cookie('modal_shown') == null) {
console.log('creating cookie');
$.cookie('modal_shown', 'yes', { expires: 365, path: '/' });
$('#modal11').click();
}
console.log($.cookie('modal_shown'));
});
</script>
【问题讨论】:
-
您分享的代码似乎是正确的。这是demo。你有错误吗?
-
@zigdawgydawg - 我试过你的代码,但即使我清除了缓存,它也没有启动模式窗口......
-
您使用的是哪个浏览器?在 Chrome 的开发者工具中,在“资源”选项卡下,您可以查看(并删除)当前站点的所有 cookie。
-
@zigdawgydawg - 我现在要调查一下,我用我的代码更新了主帖,看起来不错吗?
-
是的...您显示的代码应该可以工作。一些建议:1)一旦你有它的工作删除所有
console.log(...)行,2)假设你正在使用jQuery UI对话框,而不是用$('#modal11').click();触发模式,使用类似$( "#id-of-your-dialog" ).dialog( "open" );的东西。跨度>
标签: javascript jquery cookies modal-dialog jquery-cookie