【问题标题】:Open a popup when a button is clicked单击按钮时打开一个弹出窗口
【发布时间】:2021-10-10 04:44:28
【问题描述】:

我在 Flodesk 中制作了一个弹出表单,并在我的网站的结束 head 标记之前安装了以下 Javascript Snippet。

<script>
  (function(w, d, t, h, s, n) {
    w.FlodeskObject = n;
    var fn = function() {
      (w[n].q = w[n].q || []).push(arguments);
    };
    w[n] = w[n] || fn;
    var f = d.getElementsByTagName(t)[0];
    var v = '?v=' + Math.floor(new Date().getTime() / (120 * 1000)) * 60;
    var sm = d.createElement(t);
    sm.async = true;
    sm.type = 'module';
    sm.src = h + s + '.mjs' + v;
    f.parentNode.insertBefore(sm, f);
    var sn = d.createElement(t);
    sn.async = true;
    sn.noModule = true;
    sn.src = h + s + '.js' + v;
    f.parentNode.insertBefore(sn, f);
  })(window, document, 'script', 'https://assets.flodesk.com', '/universal', 'fd');
</script>
<script>
  window.fd('form', {
    formId: '615edb53f88d548e68f5c863'
  });
</script>

目前,我的弹出表单会在页面加载时自动打开。相反,我希望它在单击按钮时打开。请问有什么办法可以做到吗?谢谢!

【问题讨论】:

    标签: javascript html shopify


    【解决方案1】:

    好像

    window.fd('form', {
        formId: '615edb53f88d548e68f5c863'
      });
    

    打开模式,因此您可以在单击按钮时使用函数调用它。示例:

    <script>
      (function(w, d, t, h, s, n) {
        w.FlodeskObject = n;
        var fn = function() {
          (w[n].q = w[n].q || []).push(arguments);
        };
        w[n] = w[n] || fn;
        var f = d.getElementsByTagName(t)[0];
        var v = '?v=' + Math.floor(new Date().getTime() / (120 * 1000)) * 60;
        var sm = d.createElement(t);
        sm.async = true;
        sm.type = 'module';
        sm.src = h + s + '.mjs' + v;
        f.parentNode.insertBefore(sm, f);
        var sn = d.createElement(t);
        sn.async = true;
        sn.noModule = true;
        sn.src = h + s + '.js' + v;
        f.parentNode.insertBefore(sn, f);
      })(window, document, 'script', 'https://assets.flodesk.com', '/universal', 'fd');
    </script>
    <script>
      function openModal() {
        window.fd('form', {
          formId: '615edb53f88d548e68f5c863'
        });
      }
    </script>
    <button onclick="openModal()">Open Modal</button>

    【讨论】:

    • 谢谢,效果很好!我遇到的唯一问题是该按钮只会打开一次模式,即使在刷新页面后也是如此。代码中有什么可能导致这种情况吗?或者我可以添加到代码中,以便可以再次按下按钮并且仍然会打开弹出窗口。谢谢。
    • 看来window.fd('form', {formId: '615edb53f88d548e68f5c863'});这个方法只会打开一次modal。您查看过 Flodesk 文档吗?
    • 谢谢 - 我会与他们取得联系,看看他们是否能提供帮助!
    猜你喜欢
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    相关资源
    最近更新 更多