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

How to pass parameters through iframe from parent html?

我有一个 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"); 
}

在首页简单传参如下

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');

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

如果您对 iframe 沙盒的控制稍微多一些,您可以尝试 postMessage API 就您希望触发的事件与消息进行通信。