如何从父html通过iframe传递参数?

时间:2015-02-03 09:51:24

标签: javascript html iframe

我有一个html页面,我在其中以编程方式为iframe设置src。如何通过iframe src传递参数并将其置于子html中?

在我的代码下面:

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

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

3 个答案:

答案 0 :(得分:23)

在主页面上,只需按如下方式传递参数

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

在iframe中

您可以使用脚本从传递给页面的参数中获取所需的参数值。

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

然后你可以像这样获取所需参数的值

var param1 = getParamValue('param1');

答案 1 :(得分:4)

如果您对iframe沙箱拥有更多控制权,可以尝试postMessage API与您希望触发的事件上的消息进行通信。

答案 2 :(得分:1)

你应该创建一个像(myIframeRequest.php)php / jsp这样的服务器端页面并获取该页面中的参数值,如果它是一个html页面然后通过javascript解析window.location.href并找到查询/参数