Javascript 使iframe占用垂直空间
我想让Javascript 使iframe占用垂直空间,javascript,html,css,iframe,Javascript,Html,Css,Iframe,我想让iframe占据显示内容所需的垂直空间,而不是显示滚动条。有可能吗 有什么解决方法吗?此CSS片段应删除垂直滚动条: 正文{ 溢出x:隐藏; 溢出y:隐藏; } 我还不确定它是否需要占用足够多的垂直空间,但我会看看我是否能找到它。这应该将IFRAME高度设置为其内容的高度: <script type="text/javascript"> the_height = document.getElementById('the_iframe').contentWindow.docu
iframe
占据显示内容所需的垂直空间,而不是显示滚动条。有可能吗
有什么解决方法吗?此CSS片段应删除垂直滚动条:
正文{
溢出x:隐藏;
溢出y:隐藏;
}
我还不确定它是否需要占用足够多的垂直空间,但我会看看我是否能找到它。这应该将
IFRAME
高度设置为其内容的高度:
<script type="text/javascript">
the_height = document.getElementById('the_iframe').contentWindow.document.body.scrollHeight;
document.getElementById('the_iframe').height = the_height;
</script>
_height=document.getElementById('the_iframe').contentWindow.document.body.scrollHeight;
document.getElementById('the_iframe')。高度=_高度;
您可能需要将scrolling=“no”
添加到IFRAME
以关闭滚动条
编辑:哎呀,忘了声明
高度
向IFRAME
源文档添加DOCTYPE
声明将有助于从行计算正确的值
document.getElementById('the_iframe').contentWindow.document.body.scrollHeight
看
当IE和FF以“怪癖”模式呈现iframe
文档时,我遇到了问题,直到我添加了DOCTYPE
FF/IE/Chrome支持:.scrollHeight不适用于Chrome,因此我提出了一个javascript示例,使用jQuery根据iframes内容设置页面上的所有IFRAME
高度。注意:这是用于当前域中的参考页
<script type="text/javascript">
$(document).ready(function(){
$('iframe').each(function(){
var context = $(this);
context.load(function(event){ // attach the onload event to the iframe
var body = $(this.contentWindow.document).find('body');
if (body.length > 0 && $(body).find('*').length > 0) { // check if iframe has contents
context.height($(body.get(0)).height() + 20);
} else {
context.hide(); // hide iframes with no contents
}
});
});
});
</script>
$(文档).ready(函数(){
$('iframe')。每个(函数(){
var-context=$(这个);
load(函数(事件){//将onload事件附加到iframe
var body=$(this.contentWindow.document).find('body');
如果(body.length>0&&$(body.find('*').length>0){//检查iframe是否有内容
context.height($(body.get(0)).height()+20);
}否则{
context.hide();//隐藏没有内容的iframe
}
});
});
});
解决方法不是在服务器端使用
和预处理代码。也请检查此线程:
它解决了同样的问题。非常方便,干杯。可能值得一提的是,如果iframe由于相同的源策略而位于不同的域上,那么这将无法很好地工作。这并不总是可能的,除非您要构建一个自定义代理服务器来重写html正文中的链接。。。这是个笑话。