如何使用嵌入的 Typeform(使用隐藏字段)捕获页面 URL?

Tas*_*s K 1 javascript url jquery typeform

我希望在我的文档中心将 Typeform 嵌入到不同的文章中。但是,我需要使用隐藏字段捕获页面 URl,以便我可以链接在哪个文章页面上留下了哪些反馈。

目前,回复是汇总的,我不知道用户在哪篇文章上留下了反馈。这是嵌入代码的样子(我还添加了一个名为 的隐藏字段article_url):

<div data-tf-widget="a1B2c3D4" data-tf-opacity="0" data-tf-hide-headers data-tf-hide-footer data-tf-hidden="article_url=xxxxx" style="width:100%;height:350px;"></div><script src="//embed.typeform.com/next/embed.js"></script>

我确信我可以使用隐藏字段和window.location.href嵌入代码中的函数并使用 jquery来做到这一点,但我不确定脚本的外观和我的编码技巧有点生疏。

小智 6

您可以直接使用 JavaScript 更新您的 typeform 嵌入代码,如下所示:

const formElement = document.querySelector('[data-tf-widget=a1B2c3D4]')
formElement.dataset.tfHidden = `article_url=${window.location.href}`
Run Code Online (Sandbox Code Playgroud)

但是,由于您已经在使用自定义 JavaScript,您可以使用 Typeform Embed Library(参见 Github 上的内容)来更好地控制您的嵌入表单:

<div id="form" style="width: 100%; height: 350px"></div>
<script src="//embed.typeform.com/next/embed.js"></script>
<link rel="stylesheet" href="//embed.typeform.com/next/css/widget.css" />
<script>
  const formId = 'a1B2c3D4'
  const container = document.querySelector('#form')
  window.tf.createWidget(formId, {
    container,
    hideHeaders: true,
    hideFooter: true,
    opacity: 0,
    hidden: {
      article_url: window.location.href,
    },
  })
</script>
Run Code Online (Sandbox Code Playgroud)