2012-10-17 45 views
15

我想從包含iframe的頁面獲取參數,並將這些參數附加到iframesrc將URL參數傳遞給iframe

例子:

頁面包含IFRAME--

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

IFRAME在上面PAGE--

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

這裏的很多事情我一個我試過了,我認爲它理論上可行,但我沒有科軍與它:

<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

這是一個很好的解決方案!還有一個變體將所有參數編碼爲一個,並使用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>