为Jekyll / Github Pages点击进行Mailchimp弹出工作

时间:2018-04-19 13:24:42

标签: javascript popup jekyll mailchimp github-pages

尝试让Mailchimp的弹出窗体单击以获取我的Jekyll Powered Github页面。

我跟随的步骤:

  1. 我在我的网站上创建了一个链接,以触发弹出窗口:

    <a href="#" id="open-popup" onclick ="showMailingPopUp(); return false;">Join Newsletter</a>
    

    以上内容位于导航栏的HTML(masthead.html)。

  2. 然后,我为mailchimp弹出代码(newsletter.html)创建了一个HTML。是的,uuids和lids被我自己的哈希替换

    <script type="text/javascript" src="//downloads.mailchimp.com/js/signup-forms/popup/embed.js" data-dojo-config="usePlainJson: true, isDebug: false"></script>
    <script>
      function showMailingPopUp() {
        require(
          ["mojo/signup-forms/Loader"],
          function(L) {
            L.start({"baseUrl":"mc.us12.list-manage.com","uuid":"myuuid","lid":"mylid"})
          }
        );
    
        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;";
      }
    
      document.getElementById("open-popup").onclick = function() {showMailingPopUp()};
    </script>
    
  3. newsletter.html之前使用包含添加到masthead.html的{​​{1}}调用</body>

    {% include newsletter.html %}
    
  4. 以上都没有运气: - (

  5. 关于如何修复它的任何指示?

1 个答案:

答案 0 :(得分:0)

您的javascript加载订单有问题。 Jquery在您的简报代码之后加载,这是造成错误的原因。

  • 删除 _includes / masthead.html
  • 中的{% include newsletter.html %}
  • 在结束{% include newsletter.html %}之前的 layout / default.html 中添加</body>

它有效!

额外奖励:您还可以在 _includes / masthead.html

中删除额外的<body></body>代码