2015-02-03 17 views
13

Ho una pagina html in cui sto impostando l'src per un iframe a livello di codice. Come posso passare i parametri attraverso l'iframe src e portarli nel file HTML figlio?Come passare i parametri attraverso iframe da genitore html?

Sotto il mio codice:

<iframe id="myIframe" src="" height="250px" width="100%" scrolling="yes" frameborder="0"></iframe> 

function myFunction(){ 
$('#myIframe').attr('src', "myIframeRequest.html"); 
} 
+1

Aggiungere '? Parameters' all'indirizzo, quindi in iframe controllare' location.search'. – Teemu

+0

l'iframe è in un iframe, è corretto? in caso contrario, il codice jQuery funzionerà sull'iframe nella stessa pagina, ma assicurati di inserirlo in una funzione pronta o di inserirlo nella parte inferiore della pagina subito prima che il tag di chiusura del corpo – Billy

+0

location.search funzioni correttamente. Grazie Teemu – JavaLearner

risposta

14

Nella pagina principale semplicemente passare parametri come segue

function myFunction(){ 
$('#myIframe').attr('src', "myIframeRequest.html?param1=value1&param2=value2"); 
} 

In Iframe

È possibile utilizzare uno script per ottenere il valore del parametro desiderato dai parametri passati alla pagina.

<script> 
function getParamValue(paramName) 
{ 
    var url = window.location.search.substring(1); //get rid of "?" in querystring 
    var qArray = url.split('&'); //get key-value pairs 
    for (var i = 0; i < qArray.length; i++) 
    { 
     var pArr = qArray[i].split('='); //split key and value 
     if (pArr[0] == paramName) 
      return pArr[1]; //return value 
    } 
} 
</script> 

Quindi è possibile recuperare il valore del parametro desiderato come questo

var param1 = getParamValue('param1'); 
0

si dovrebbe fare una pagina serverside simile (myIframeRequest.php) php/jsp e ottenere il valore del parametro in quella pagina se s una pagina html quindi analizza la window.location.href tramite javascript e trova la query/param

1

Se hai un po 'più di controllo sulla tua sandbox iframe, puoi provare l'API postMessage per comunicare con il messaggio sugli eventi che desideri attivare .

Problemi correlati