将动态URL字段传递到iframe而不进行服务器端编码

时间:2017-10-28 15:38:13

标签: javascript html url iframe dynamic

在下面需要一些帮助,不幸的是,我无法自己弄明白:(

  1. 用户被重定向到一个表单(通过iframe提供),其中包含一个动态URL:website.com/form?id = 123

  2. 提供页面的代码从页面URL中的“id”参数中读取该值(" 123")。

  3. 然后,该脚本会在“data-url”属性中将该值写入URL的末尾,如下面的示例代码段所示。

  4. 
    
    <div class="typeform-widget" data-url="iframe.com/to/abc123?id=123" style="width: 100%; height: 500px;" ></div> 
    <script> (function() { var qs,js,q,s,d=document, gi=d.getElementById, ce=d.createElement, gt=d.getElementsByTagName, id="typef_orm", b="https://embed.iframe.com/"; if(!gi.call(d,id)) { js=ce.call(d,"script"); js.id=id; js.src=b+"embed.js"; q=gt.call(d,"script")[0]; q.parentNode.insertBefore(js,q) } })() 
    </script>
    &#13;
    &#13;
    &#13;

    不幸的是,我似乎无法让它发挥作用......

    非常感谢!

1 个答案:

答案 0 :(得分:7)

不确定您为何面临此任务的问题。以下是我如何从当前网址获取ID

url = document.location.href;
var paramId = new URL(url).searchParams.get("id");

var frameElement = document.getElementById("typef_orm_frame");
frameElement.src = "https://example.com/to/abc" + paramId + "?id=" +paramId;

这是演示文稿的JSFiddle

https://jsfiddle.net/0Lswuxj8/1/