javascript - 在弹出窗口中添加 24 小时 cookie 使其根本不显示?
问题描述
嘿,我的斯塔克兰同胞。
我有一个运行良好的网站的弹出窗口。从 onload 的角落打开。这是一个工作示例:https ://jsfiddle.net/zcp1sqk3/3/
然而,这就是我遇到问题的地方。我需要添加一个 cookie,使其在用户第一次看到它后 24 小时内不显示。我尝试了以下方法:
// if no cookie
if (!$.cookie('alert')) {
window.onload = function() {
$('.sliderPopUp').toggleClass('open');
};
$('.closex').click(function() {
$(".sliderPopUp").addClass("close");
// set the cookie for 24 hours
var date = new Date();
date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
$.cookie('alert', true, { expires: date });
});
$('img').removeAttr('title');
}
但它所做的只是使弹出窗口根本不显示。我似乎无法弄清楚为什么即使清除我的缓存它也不会第一次显示......
解决方案
弄清楚了。
我发现有一个 $(document).ready 函数,该函数在 body 内的脚本标记中包含一个 $.cookie,同时按预期将 cookie js 加载到 BELOW jquery 的头部导致 $(document).ready 在 cookie 之前处理插件可以完成加载。
我在 $(document).ready 脚本之前将 cookie 插件加载脚本移动到正文中,并且 cookie 有效:D
推荐阅读
- amazon-web-services - 在 greengrass 核心 AWS 上运行 mqtt 代理
- javascript - 了解 useState 挂钩行为
- docker - 使用 azure CI-CD 将 docker 部署到本地
- python - 熊猫读取特定数量的列,而与数据文件无关
- python - 在 VS Code 中调试时如何解决“ImportError: cannot import”?
- java - JUnit:无法解析 obj
- javascript - Firebase Client JS SDK - 在哪里保存私钥?
- python - 删除字典中具有特定值的键
- azure - 增加 Azure API 管理中的请求超时
- firebase - 其中10个极限Flutter