2017-10-28 9 views
0

私はdivをクリックすると、mailchimpポップアップフォームがポップアップします。問題の1つは、mailchimpはCookieを保存して、ポップアップが1回だけ行われることを確認することです。しかし、今私はクリックでそれをやっているので、私はそのクッキーを取り除きたい。Mailchimpポップアップ用のクッキーを削除する

これは私のコードです:

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;'; 
     }); 

    }); 

だから、インターネットを検索した後、私は誰もがクッキーを削除するには、このコードを使用していることが分かりました。

document.cookie = 'MCEvilPopupClosed=;path=/;expires=Thu, 01 Jan 1970 00:00:00 UTC;'; 

この問題は、私にとっては効果がありません。私はシークレットですべてのテストを行いましたが、ポップアップを一度だけ動作させることができます。

答えて

0

MCEvilPopupClosedではなく、クッキーの名前はMCPopupClosedです。理由は分かりませんが、MailChimpはある時点でそれを変更しているに違いありません。

MCPopupSubscribedという別のクッキーがあります。これは、ユーザーが 'X'ボタンをクリックしてポップアップを閉じるのではなく、サブスクライブした場合に設定されます。ユーザーが購読していてもポップアップが表示されるようにするには、そのクッキーもクリアしたいと思うでしょう。

これらの2つのCookieを消去すると、ページが読み込まれた後に1回だけ機能します。問題を調べているうちにthis codeに出くわしましたが、スクリプトタグの代わりにrequireをクリック機能に入れても問題ありません。これにより、要素がクリックされるたびに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;'; 
    }); 

}); 
関連する問題