【问题标题】:Restrict typeform to single submission on Wordpress post将 typeform 限制为在 Wordpress 帖子上单次提交
【发布时间】:2020-10-23 16:19:07
【问题描述】:

在 Wordpress 的帖子中嵌入一个简单的 typeform。一点都不花哨。嵌入直接从 Typeform 提取的代码。

但是,人们可以提交多次。 IE。一个人理论上可以做 100 次。

Typeform 建议使用 cookie 来解决这个问题,并将用户限制为一次提交 - 但真的不知道从哪里开始。有没有一个简单、快速的解决方法可以做这样的事情?任何想法都完全欢迎!

【问题讨论】:

    标签: wordpress cookies typeform


    【解决方案1】:

    如果 cookie 不存在,其中一种解决方案可能只显示嵌入的类型。

    不太确定如何在 Wordpress 中执行此操作。

    但逻辑是:

    const embedElement = document.querySelector('.target-dom-node') 
    const displayed = getCookie("displayed_typeform");
    if (displayed){
      embedElement.innerHTML="<h2>Typeform already displayed once.</h2>"
    } else if(!displayed && displayed === "") {
      setCookie("displayed_typeform", true, 365);
      showEmbed();
    }
    

    setCookie和getCookie是处理cookie管理的两个函数

    function setCookie(cname, cvalue, exdays) { 
        var d = new Date();
        d.setTime(d.getTime() + (exdays*24*60*60*1000));
        var expires = "expires="+ d.toUTCString();
        document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
    }
    
    function getCookie(cname) {
        var name = cname + "=";
        var decodedCookie = decodeURIComponent(document.cookie);
        var ca = decodedCookie.split(';');
        for(var i = 0; i <ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
                c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
                return c.substring(name.length, c.length);
            }
        }
        return "";
    }
    

    您可以找到演示此功能的完整项目here。

    【讨论】:

      猜你喜欢
      • 2015-05-11
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      相关资源
      最近更新 更多