父页面有table,有tr,td。td中有iframe。页面加载时未设定iframe的src,tr的style设置为none。
<tr id="tr_clueReportENIframe" style="display:none">
<td colspan="2">
<iframe id="clueReportENIframe" name="clueReportENIframe" frameborder="0" scrolling="no"></iframe>
</td>
</tr>
通过某事件,需要tr显示。iframe有内容
if(document.getElementById("tr_clueReportENIframe").style.display=="none"){
document.getElementById("tr_clueReportENIframe").style.display="";
document.getElementById("clueReportENIframe").src="<%=basePath%>displayClueReport.do?clueReportRecordId="+ clueReportRecordId +"&language=EN";
}
else if(document.getElementById("tr_clueReportENIframe").style.display==""){
document.getElementById("tr_clueReportENIframe").style.display="none";
}
iframe的src指向action。action跳转到子页面a.jsp页面,jsp页面内容不确定,高度不确定。父页面的clueReportENIframe无法设定高度。
这时,可以在子页面添加如下代码:
<script type="text/javascript">
function load(){
parent.document.getElementById("clueReportENIframe").style.height = document.body.scrollHeight +"px";
parent.document.getElementById("clueReportENIframe").style.width = document.body.scrollWidth +"px";
}
</script>
<body onLoad="load();">
可以根据子页面高度和宽度,自动设置父页面的iframe高度。