真正跨浏览器获取文档高度的方法
Truly cross-browser way to get document height?
我有一个控件包含在我的ASP页面上的iframe。. NET web应用程序。控件根据用户在其上选择的内容相应地改变其垂直大小(有些元素进入,有些元素退出)。所以,我必须精确地设置iframe的大小来显示整个控件,而不是在iframe和它下面的元素之间制造间隙。
在网上的某个地方,我发现了一种以跨浏览器的方式获取文档高度的方法:
function getDocHeight(document) {
return Math.max(
Math.max(document.body.scrollHeight, document.documentElement.scrollHeight),
Math.max(document.body.offsetHeight, document.documentElement.offsetHeight),
Math.max(document.body.clientHeight, document.documentElement.clientHeight)
);
}
控件页上的self.document.body.onload,因此,我调用这个函数:
function adjustIframeHeight() {
var iframe = window.parent.document.getElementById(window.frameElement.id);
var iframeHeight = getDocHeight(iframe.contentWindow.document);
iframe.style.height = iframeHeight + "px";
}
问题是它在Firefox中工作得很好,但在某些情况下,控件的底部部分在Chrome和IE中被切断。
是否有一些真正的跨浏览器的方式来获得这个高度,或者我做错了什么?感谢您的宝贵时间
我会使用像jQuery这样的东西来帮助解决这个问题(因为使用高度方法似乎因浏览器而异),这里是一些可以帮助的jQuery代码:
$(document).height(); // height of HTML doc
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 获取元素高度的正确方法(使用所有浏览器?)
- 有没有更好的方法可以用jquery更新图像的高度和宽度
- 有没有快速的方法可以找到容器的占用高度
- 当溢出-x 设置为隐藏时处理可变高度图像的最佳方法是什么?
- Windows Phone WebBrowser:获取文档高度的正确方法
- 根据元素高度拆分段落的最有效方法
- 实现 Porthole 的正确方法是什么.js根据内容高度调整 iframe 的大小
- 使用add_widget方法时,栅格高度不正确
- 算法-根据图像的高度和宽度确定图像尺寸的最佳方法
- 有没有一种方法可以获得画布的宽度和高度'的内部内容
- 有没有一种方法可以让表格单元格固定在给定的高度并启用换行
- 访问CSS高度值(通用方法)
- 有什么方法可以改变appequests对话框的高度吗
- 元素宽度/高度的方法
- 是否有一种方法可以测量用户在他的网站中可见的高度?
- 真正跨浏览器获取文档高度的方法
- JavaScript动态时间SetTimeout方法改变高度
- DIV不使用内容使用的方法进行扩展(最小高度,溢出:隐藏,清除DIV.none有效:-()