Javascript 调整iframe的大小以加载内容
我想在iframe中加载内容,并根据内容调整其高度。所有页面都在同一个域中。我尝试了一些我找到的脚本,但没有任何效果。大多数情况下,它只是在新选项卡中打开加载的内容 HTML:Javascript 调整iframe的大小以加载内容,javascript,jquery,html,css,iframe,Javascript,Jquery,Html,Css,Iframe,我想在iframe中加载内容,并根据内容调整其高度。所有页面都在同一个域中。我尝试了一些我找到的脚本,但没有任何效果。大多数情况下,它只是在新选项卡中打开加载的内容 HTML: 您可以尝试在加载iframe后获取高度,并使用jquery对其进行更改 $('iframe').load(function() { setTimeout(iResize, 50); // Safari and Opera need a kick-start. va
您可以尝试在加载iframe后获取高度,并使用jquery对其进行更改
$('iframe').load(function() {
setTimeout(iResize, 50);
// Safari and Opera need a kick-start.
var iSource = document.getElementById('your-iframe-id').src;
document.getElementById('your-iframe-id').src = '';
document.getElementById('your-iframe-id').src = iSource;
});
function iResize() {
document.getElementById('your-iframe-id').style.height =
document.getElementById('your-iframe-id').contentWindow.document.body.offsetHeight + 'px';
}
你可以试试看这个:@Stefan,我试过删除newwidth行,但它会将内容加载到一个新选项卡中。
div#container {
height: 100%;
width: 100%;
}
div#header {
top: 0px;
width: 100%;
height: 80px;
position: fixed;
background-color: transparent;
text-align: center;
}
div#nav {
font-family: MgSouvenirLight;
font-size: 18pt;
color: #FF0;
top: 120px;
width: 100%;
height: 40px;
position: fixed;
text-decoration: none;
font-weight: bolder;
font-variant: normal;
}
div#footer {
font-family: Arial, Helvetica, sans-serif;
font-size: 9px;
bottom: 0px;
position: fixed;
height: 30px;
width: 100%;
text-align: center;
color: #fff;
}
#frame {
position: absolute;
top: 200px;
bottom: 40px;
width: 800px;
border: none;
left: 120px;
height: auto;
}
a:link {
font-family: MgSouvenirLight;
font-size: 18pt;
color: #FF0;
}
a:visited {
font-family: MgSouvenirLight;
font-size: 18pt;
color: #FF0;
}
a:hover {
font-family: MgSouvenirLight;
font-size: 18pt;
font-style: italic;
color: #FC0;
}
$('iframe').load(function() {
setTimeout(iResize, 50);
// Safari and Opera need a kick-start.
var iSource = document.getElementById('your-iframe-id').src;
document.getElementById('your-iframe-id').src = '';
document.getElementById('your-iframe-id').src = iSource;
});
function iResize() {
document.getElementById('your-iframe-id').style.height =
document.getElementById('your-iframe-id').contentWindow.document.body.offsetHeight + 'px';
}