2017-10-28 33 views
2

需要在下面的一些幫助,因爲,很遺憾,我不能由我自己看着辦吧:(傳遞一個動態的URL字段到iframe沒有服務器端編碼

  1. 用戶被重定向到一個表單(通過iframe服務),其中包含一個動態網址:website.com/form?id=123

  2. 提供頁面的代碼從頁面中的「id」參數中讀取該值(「123」) URL

  3. 該腳本然後將該值寫入結尾「data-url」屬性中的URL,如下面的示例代碼片段所示。

<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>

不幸的是,我似乎無法得到它的工作...

謝謝了!

+0

就死在從URL解析ID ... – Chriswede

+0

這是代碼在框架內執行?它試圖讀取當前的瀏覽器網址或iframe網址嗎? –

+0

代碼在網站上(不是iframe),但是通過閱讀當前瀏覽器url中的id標籤來更改iframe網址 – Chriswede

回答

7

不知道你爲什麼面臨這個任務的問題。下面是我如何從當前的URL

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; 

這裏得到的ID是對的jsfiddle演示

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

相關問題