捕获传入的URL参数,然后使用Javascript传递给iFrame Src

jgr*_*nis 18 javascript iframe google-analytics window.location query-string

所以试着用Javascript中的window.location来弄清楚如何做到这一点.我向用户发送了一个带有Google Analytics代码的附加网址,我需要将该代码传递给该网页上的iframe src.我假设Javascript可以做到这一点(注意 - 我不能使用PHP)...

这就是我想要做的:

我会将用户发送到包含所有广告系列数据的页面.例如,用户可以点击此链接:http://www.xyz.com/index.html?utm_source = Facebook&utm_campaign = Facebook + May&utm_medium = click

它们会被定向到那个页面,然后就会有这个iFrame.商店一侧的代码需要选择utm_source,utm_campaign,utm_medium并在IFRAME SRC中包含这些部分所以这一点:

<iframe height="960px" frameborder="0" scrolling="no" width="958px" src="http://www.abc.com/minis"></iframe>
Run Code Online (Sandbox Code Playgroud)

现在变成:

 <iframe height="960px" frameborder="0" scrolling="no" width="958px" src="http://www.abc.com/minis?utm_source=Facebook&utm_campaign=Facebook+May&utm_medium=click"></iframe>
Run Code Online (Sandbox Code Playgroud)

任何JavaScript建议将不胜感激.注意 - 我不能使用PHP.

更新:让这个工作!是的,但现在我需要编辑一下:

所以说附加的网址是clciked:

http://abc.com/index.html?apple&orange&peach
Run Code Online (Sandbox Code Playgroud)

我需要iframe src才能做到这一点

 http://xyz.com/minis?orange&peach
Run Code Online (Sandbox Code Playgroud)

我在脚本中移动了一些东西,但现在只抓橙色而不是其他属性(桃子).请告知是否有更好的工作方式(没有所有的参数,然后根据什么链接进来,一些&将是未定义的:

<body>

<script type="text/javascript">

$(function() {

var loc = window.location.toString(),
params = loc.split('&')[1],
params2 = loc.split('&')[2],
params3 = loc.split('&')[3],
params4 = loc.split('&')[4],
params5 = loc.split('&')[5],
params6 = loc.split('&')[6],
  iframe = document.getElementById('myIframe');
alert(iframe.src); 
iframe.src = iframe.src + '?' + params + '&' + params2 + '&' + params3 + '&' + params4+ '&' + params5;
alert(iframe.src); 

});
</script>
<iframe id="myIframe" src="http://www.xyz.com/minis"></iframe>

</body>
Run Code Online (Sandbox Code Playgroud)

Gil*_*esC 17

这个小片段应该做,这里你要做的就是抓住一点点后?作为字符串并将其附加到iframe源.

var loc = window.location.toString(),
    params = loc.split('?')[1],
    iframe = document.getElementById('myIframe');

iframe.src = iframe.src + '?' + params;????????????????
Run Code Online (Sandbox Code Playgroud)