2012-10-17 62 views
15

iframeを含むページからパラメータを取得し、iframesrcにパラメータを追加したいとします。URLパラメータをiframeに渡す

例:

ABOVE当ページ

<iframe id="myiframe" name="myiframe" src="prefcontent.aspx" frameborder="0" 
width="100%" height="800"></iframe> 

IN IFRAME--

http://www.example.com/pref.html?c=%433r3jutlut9se%23&e=test%40example.com

IFRAMEを含むページがここで私は「多くのものの一つです私は理論的にはうまくいくと思っていましたが、私はそれにUCK:

<script language="javascript"> 
$(function() { 

    var loc = window.location.toString(), 
    params = loc.split('?')[1], 
    params2 = loc.split('&')[2], 
    iframe = $('#myiframe'); 

    console.log(params); 

    iframe.src = iframe.src + '?' + params + '&' + params2; 


}); 
</script> 
+0

iframeソースに現在のページと同じクエリ文字列を追加するだけですか? – adeneo

+0

はい、親ページURLから同じパラメータを取得してiframe srcに追加したいだけでした。 Lededjeの答えは、魅力のように動作します!あなたの助けを捧げてくれてありがとうAdeneo! – Nostalgia80

答えて

12

あなたはjQueryのを使用している場合、あなたがアップし、あなたのコードを下にストリップすることがあります:

$(function() { 
    var search = window.location.search; 
    $("#myiframe").attr("src", $("#myiframe").attr("src")+search); 
}); 

使用window.location.search。それはURLの終わりにハッシュタグを切り捨てるので、ネイティブコードほど速くなります。

次に、jQueryセレクタを使用してiframeのsrcの属性を検索して置き換えます。現在のsrcとこのページから取得された検索が置き換えられます。

これが役に立ちます。

+1

はい!!!!!非常に多くのlededjeありがとう!私は長い間このことに固執しています。これは大いに役立ちます。 :) – Nostalgia80

+0

これは素晴らしい解決策です!すべてのパラメータを1つにエンコードし、decodeURIComponentを使用するバリアントもあります(http://stackoverflow.com/a/19553782/684229を参照)。 – TMS

8
<script language="javascript"> 
    var iframe = document.getElementById('myiframe'); 
     iframe.src = iframe.src + window.location.search; 
</script> 
関連する問題