2012-10-17 1 views
15

Ich möchte die Parameter von einer Seite, die eine iframe enthält, abrufen und die Parameter an die src der iframe anhängen.Übergeben von URL-Parametern an iframe

Beispiel:

Seite mit IFRAME--

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

IFRAME IN DER OBEN PAGE--

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

Hier ist eines der vielen Dinge, die ich Ich habe versucht, was ich dachte, würde in der Theorie funktionieren, aber ich hatte keine l uck mit ihm:

<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

Ist der Punkt, nur die gleiche QueryString als die aktuelle Seite der Iframe-Quelle hinzufügen? – adeneo

+0

Ja, ich wollte nur die gleichen Parameter von der URL der übergeordneten Seite abrufen und sie zu iframe src hinzufügen. Die Antwort von Lededje funktioniert wie ein Zauber! Vielen Dank für Ihre Hilfe Adeneo! – Nostalgia80

Antwort

12

wenn Ihr jQuery verwenden Sie könnten Ihren Code sichern möchten auszuziehen:

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

Verwendung window.location.search; weil es das Hash-Tag am Ende der URL abschneidet und viel schneller ist, da es nativer Code ist.

Verwenden Sie dann jQuery-Selektoren, um das Attribut src auf dem iframe zu finden und zu ersetzen, wobei der aktuelle src plus die Suche von dieser Seite übernommen wird.

Hoffe, das hilft.

+1

JA !!!!! Vielen Dank, sehr viel lededje! Ich habe mich lange daran gehalten. Dies hilft immens. :) – Nostalgia80

+0

Dies ist eine großartige Lösung! Es gibt auch eine Variante, alle Parameter in einem zu kodieren und decodeURIComponent zu verwenden, siehe http://StackOverflow.com/a/19553782/684229 – TMS

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