如何检测用户是否已完成嵌入式Typeform?

Pet*_*ter 5 javascript forms typeform

我在iframe中嵌入了一个Typeform嵌入到我的页面中.从我的JS我想知道用户已经完成了typeform(即点击提交).字体JS似乎没有提供任何可以监听的事件.目前我只想出以下解决方案 - 定期调用以检测是否正在显示outro页面:

document.getElementById('my-typeform-iframe').getElementsByClassName('outro').length > 0
Run Code Online (Sandbox Code Playgroud)

有一些更好的方法吗?

Pet*_*ter 7

好吧,所以我在上面的假设中错了 - 事实证明,当用户提交表单时,typeform iframe会发出一个事件.事件已命名form-submit,可以通过以下方式处理它:

    window.addEventListener('message', function(event){
      if(event.data == 'form-submit')
        // your business logic here
    }, false);
Run Code Online (Sandbox Code Playgroud)

  • 现在必须使用event.data.type ===“ form-submit” (3认同)

apf*_*ger 5

现在,Typeform具有“ onSubmit”回调功能。

<script src="https://embed.typeform.com/embed.js"></script>
<script>
  window.addEventListener("DOMContentLoaded", function() {
    var el = document.getElementById("my-embedded-typeform");
    window.typeformEmbed.makeWidget(el, "https://admin.typeform.com/to/cVa5IG", {
    onSubmit: function() {
      alert("submited!");
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

这是文档