web-dev-qa-db-ja.com

着信URLパラメータをキャプチャし、iFrameに渡しますSrc JavaScript

そのため、JavaScriptのwindow.locationを使用してこれを行う方法を見つけようとしています。そのページのiframe srcに渡す必要があるGoogleアナリティクスコードを追加したURLでユーザーをサイトに送信しています。私は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>

今なります:

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

Javascriptの提案は大歓迎です。注-PHPは使用できません。

更新:動作するようになりました!!ええ、しかし今は少し編集する必要があります:

したがって、クリックされた追加URLは次のようになります。

http://abc.com/index.html?apple&orange&Peach

iframe srcがこれである必要があります

 http://xyz.com/minis?orange&Peach

スクリプト内でいくつかの点を移動しましたが、現在はオレンジのみを取得し、他の&属性(Peach)は取得していません。より良い作業方法がある場合はアドバイスしてください(すべてのパラメーターがなく、リンクの種類によっては、&の一部が未定義になります:

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

この小さなスニペットを実行する必要があります、ここであなたがしなければならないのは後を少しつかむことですか?文字列として、iframeソースに追加します。

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

iframe.src = iframe.src + '?' + params;​​​​​​​​​​​​​​​​
16
GillesC