我有一个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");
}
答案 0 :(得分:23)
在主页面上,只需按如下方式传递参数
function myFunction(){
$('#myIframe').attr('src', "myIframeRequest.html?param1=value1¶m2=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并找到查询/参数