抓取传递的 URL 参数并添加到 iframe URL

Grab URL parameter passed and add to iframe URL

我正在使用 typform 嵌入代码,但他们没有提供任何示例代码来从 URL 中获取自定义参数并将其插入到他们生成的嵌入代码中。他们解释说这是可以做到的。这些步骤概述如下。我正在寻找一些代码,这些代码将获取在 URL 上传递的任何参数,并将它们添加到 iframe 中的类型 URL 中。希望时间安排正确,到 iframe 代码执行时,它会传递参数。

  1. 用户点击 link https://mysite/embedpage.html?sfid=2324234
  2. 页面代码应读取传递给 URL 的 sfid,并添加此参数加上传递给嵌入代码中的类型 URL 的值,如下所示:
<html> 
  <head> 
  </head> 
  <body> 
    <iframe id="typeform-full" width="100%" height="100%" frameborder="0" 
      src="https://mysite.typeform.com/to/tpEHHt?sfid=2324234">
    </iframe> 
    <script 
      type="text/javascript" src="https://embed.typeform.com/embed.js">
    </script> 
  </body> 
</html>

你尝试过这样的事情吗?

function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split('&');
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split('=');
        if (decodeURIComponent(pair[0]) == variable) {
            return decodeURIComponent(pair[1]);
        }
    }
    console.log('Query variable %s not found', variable);
}

document.getElementById('typeform-full').src = `https://mysite.typeform.com/to/tpEHHt?sfid=${getQueryVariable('sfid')}`;

我相信这个问题之前在 上被问过。

我制作了一个 working example 故障,您可以复制并自己使用。

类似@Twisting 下层方案,从当前页面提取查询参数,用一个函数,传给Typeform Embed SDK。

希望对您有所帮助:)