web-dev-qa-db-fra.com

Comment passer des paramètres via iframe à partir du HTML parent?

J'ai une page html dans laquelle je mets la src pour un iframe par programme. Comment puis-je passer des paramètres via l'iframe src et les obtenir dans le code HTML de l'enfant?

En dessous de mon code:

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

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

Sur la page principale, passez simplement les paramètres comme suit

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

en iframe

Vous pouvez utiliser un script pour obtenir la valeur de paramètre souhaitée à partir des paramètres transmis à la page.

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

Ensuite, vous pouvez récupérer la valeur du paramètre souhaité comme ceci

var param1 = getParamValue('param1');
26
Ozgur Bar

Si vous avez un peu plus de contrôle sur votre sandbox iframe, vous pouvez essayer l'API postMessage pour communiquer avec un message sur les événements que vous souhaitez déclencher.

4
Shobhit Sharma

vous devriez faire une page serveride comme (myIframeRequest.php) php/jsp et obtenir la valeur de paramètre dans cette page s'il s'agit d'une page html puis analyser le window.location.href via javascript et trouver la requête/param

1
Deepak David