获取iframe内容区高度
时间: 2023-11-21 10:50:57 浏览: 74
可以使用以下代码获取iframe内容区高度:
```
var iframe = document.getElementById('your-iframe-id');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
var height = iframeDoc.documentElement.scrollHeight;
```
其中,`your-iframe-id`是你的iframe元素的id。
相关问题
获取iframe滚动条高度
要获取iframe中滚动条的高度,可以使用以下代码:
```javascript
var iframe = document.getElementById("myIframe");
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var scrollHeight = innerDoc.documentElement.scrollHeight || innerDoc.body.scrollHeight;
var clientHeight = innerDoc.documentElement.clientHeight || innerDoc.body.clientHeight;
var scrollbarHeight = scrollHeight - clientHeight;
```
其中,`myIframe` 是iframe的id,`scrollHeight`是iframe内部网页的总高度,`clientHeight`是iframe可见部分的高度,`scrollbarHeight`是滚动条的高度。
iframe标签外盒子高度不能根据里面的iframe内容自适应高度。
根据引用\[1\]和引用\[2\]的内容,你可以使用JavaScript来实现iframe标签的自适应高度。在父页面中,你可以使用以下代码来设置iframe的高度:
```javascript
function setIframeHeight(iframe) {
if (iframe) {
var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
if (iframeWin.document.body) {
iframe.height = iframeWin.document.body.scrollHeight;
}
}
}
window.onload = function() {
setIframeHeight(document.getElementById('contIframs'));
};
```
这段代码会在页面加载完成后自动调用`setIframeHeight`函数,将iframe的高度设置为其内部内容的高度。在子页面中,你可以使用以下代码来实现当页面内容高度变化时,重新设置父页面中iframe的高度:
```javascript
var bodyH = $('body').height();
$('#contIframs', parent.document).height(bodyH);
```
这段代码会获取子页面的body高度,并将其赋值给父页面中的iframe,从而实现高度的自适应。另外,你还可以使用jQuery的`load()`方法来加载页面内容,从而实现自动撑开页面的效果。例如:
```javascript
function loadPage(path) {
$('#contIframs').load(path);
}
loadPage('xin_xi.html');
```
这段代码会加载`xin_xi.html`页面,并自动调整iframe的高度以适应页面内容的变化。
另外,根据引用\[3\]的内容,你还可以在子页面中使用以下代码来实现iframe的高度自适应:
```html
<!DOCTYPE html>
<html>
<head>
<title>iframe宽度高度自适应</title>
</head>
<body id="body" height="100%">
<script type="text/javascript">
document.getElementsByTagName('body')\[0\].style.height = window.innerHeight + 'px';
</script>
<iframe name="Info1" id="Info1" src="http://www.baidu.com" onload="this.height=body.offsetHeight" width="100%" scrolling="true" frameborder="0"></iframe>
</body>
</html>
```
这段代码会将iframe的高度设置为父元素(这里是body)的高度,从而实现高度的自适应。
综上所述,你可以根据以上的方法来实现iframe标签外盒子高度根据里面的iframe内容自适应高度。
#### 引用[.reference_title]
- *1* [动态修改iframe高度,从而自适应内容真实高度](https://blog.csdn.net/entouger/article/details/120180403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [使用iframe标签时页面内容可以自适应](https://blog.csdn.net/weixin_43822182/article/details/88668033)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [iframe高度宽度自适应](https://blog.csdn.net/super__dreamer/article/details/52468942)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文