我有一个wordpress网站,你点击一个div,弹出一个mailchimp弹出窗口。一个问题是,mailchimp存储一个cookie以确保弹出窗口只进行一次。但是,由于我现在正在点击一下,我想摆脱那个cookie。
这是我的代码:
A B c
<dbl> <dbl> <dbl>
1 1.5 0.4877790 1.0121278
2 1.5 0.6032474 0.8840735
3 1.5 0.6042946 0.5996850
4 1.5 0.5456424 0.6198039
5 3.0 0.3849424 0.6276092
6 4.0 0.3277343 0.4343907
7 3.0 0.1246334 1.0760229
8 4.0 0.2946009 0.8461718
9 3.0 0.5120159 1.6121568
10 4.0 0.5050239 1.0999058
11 3.0 0.8679195 0.8981359
12 4.0 0.8297087 0.1667626
因此,在搜索互联网后,我发现每个人都使用此代码删除cookie。
var mailchimpConfig = {
baseUrl: 'mc.us17.list-manage.com',
uuid: '1356322e2......rest of my code',
lid: '36776d...rest of my code'
};
// No edits below this line are required
var chimpPopupLoader = document.createElement("script");
chimpPopupLoader.src = '//s3.amazonaws.com/downloads.mailchimp.com/js/signup-forms/popup/embed.js';
chimpPopupLoader.setAttribute('data-dojo-config', 'usePlainJson: true, isDebug: false');
var chimpPopup = document.createElement("script");
chimpPopup.appendChild(document.createTextNode('require(["mojo/signup-forms/Loader"], function (L) { L.start({"baseUrl": "' + mailchimpConfig.baseUrl + '", "uuid": "' + mailchimpConfig.uuid + '", "lid": "' + mailchimpConfig.lid + '"})});'));
jQuery(function ($) {
document.body.appendChild(chimpPopupLoader);
jQuery(".coming-soon").on("click", function () {
alert("Hello");
document.body.appendChild(chimpPopup);
document.cookie = 'MCEvilPopupClosed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;';
});
});
这个问题是,它不适合我。我在隐姓埋名中完成了所有测试,只能弹出一次。
答案 0 :(得分:1)
Cookie的名称为MCPopupClosed
而不是MCEvilPopupClosed
。我不知道为什么,但MailChimp必定在某些时候改变了它。
还有另一个名为MCPopupSubscribed
的cookie,如果用户订阅而不是使用“X”按钮关闭弹出窗口,则会设置该cookie。如果您希望即使用户已订阅也要显示弹出窗口,您也需要清除该cookie。
清除这两个cookie只会在页面加载后使其工作一次。我在查看问题时遇到了this code,如果您将require
放在click函数而不是脚本标记中,它就可以正常工作。这样做还可以防止每次单击元素时都必须删除appendChild
函数生成的脚本标记。
因此,您更新的代码如下所示:
var mailchimpConfig = {
baseUrl: 'mc.us17.list-manage.com',
uuid: '1356322e2......rest of my code',
lid: '36776d...rest of my code'
};
// No edits below this line are required
var chimpPopupLoader = document.createElement("script");
chimpPopupLoader.src = '//s3.amazonaws.com/downloads.mailchimp.com/js/signup-forms/popup/embed.js';
chimpPopupLoader.setAttribute('data-dojo-config', 'usePlainJson: true, isDebug: false');
jQuery(function ($) {
document.body.appendChild(chimpPopupLoader);
jQuery(".coming-soon").on("click", function () {
require(["mojo/signup-forms/Loader"], function (L) { L.start({"baseUrl": mailchimpConfig.baseUrl, "uuid": mailchimpConfig.uuid, "lid": mailchimpConfig.lid})});
document.cookie = 'MCPopupClosed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;';
document.cookie = 'MCPopupSubscribed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;';
});
});
答案 1 :(得分:0)
您错过了一个cookie:
document.cookie =“ MCEvilPopupClosed =; expires =星期四,1970年1月1日UTC时间”;
我已经纠正了完全相同的问题。
希望这会有所帮助,