Javascript dynamically changes the height of the IFrame to achieve automatic stretching
- 2020-03-26 21:25:39
- OfStack
Dynamically change the height of the IFrame, to achieve the automatic extension of the IFrame, the parent page also automatically shrink
How it works: when an IFrame child page loads, the parent IFrame object is called, changing its height
Specific implementation 1:
1. Add JavaScript to a specific IFrame page (that is, a child page)
2. Add the onload event to the body of the IFrame's concrete page (that is, the child page)
3. Add an ID to the IFrame tag of the parent page, which is the childFrame written to in line 2 of the method body in the first step above
Specific realization 2:
The iframe of the parent page is
How it works: when an IFrame child page loads, the parent IFrame object is called, changing its height
Specific implementation 1:
1. Add JavaScript to a specific IFrame page (that is, a child page)
<script>
function IFrameResize(){
//alert(this.document.body.scrollHeight); // Pops up the height of the current page
var obj = parent.document.getElementById("childFrame"); //Gets the parent page IFrame object
//alert(obj.height); // The parent page pops up IFrame Height set in
obj.height = this.document.body.scrollHeight; //Adjust the height of the IFrame in the parent page for this page
}
</script>
2. Add the onload event to the body of the IFrame's concrete page (that is, the child page)
<body onload="IFrameResize()">
3. Add an ID to the IFrame tag of the parent page, which is the childFrame written to in line 2 of the method body in the first step above
<IFRAME border=0 marginWidth=0
frameSpacing=0 marginHeight=0
src="frame1.jsp" frameBorder=0
noResize scrolling="no" width=100% height=100% vspale="0" id="childFrame"></IFRAME>
Specific realization 2:
//Dynamically changes the height of the parent iframe
//Js called by the iframe page
$(function(){
//Take the height of the window
var winH = $(window).height();
//Take the height of the page
var bodyH = $(document).height();
if(bodyH > winH){
window.parent.document.getElementById("mainFrame").height=bodyH;
}else{
window.parent.document.getElementById("mainFrame").height=winH;
}
});
The iframe of the parent page is
<iframe src="main.action" height="700" frameborder="0" width="100%" id="mainFrame" name="mainFrame"></iframe>