所以我有一个resize处理程序,根据右边是否有滚动(溢出vs不溢出)来调整某些列标题的大小,以调整间距以考虑滚动。当我改变帧的大小以使帧溢出而不是溢出时,调整大小起作用。但是当我以某种方式修改列而不影响帧大小时,我仍然需要调整大小但调整大小会出错。下面是我有一段调整大小的伪代码。
if (display != "none") {
if (frame.offsetHeight >= frame.scrollHeight) {
display = "none"
}
} else {
if (frame.offsetHeight < frame.scrollHeight) {
display = ""
}
}
所以问题在于,当帧大小未更改时调用resize处理程序时,在FF,Chrome和Safari中,scrollHeight比frame.offsetHeight
多1(即如果offsetHeight
是100px,scrollHeight
实际上是101px)但在IE中,offsetHeight和scrollHeight是相同的,因此在display == ""
和frame.offsetHeight < frame.scrollHeight
失败时成为条件。 IE和其他浏览器的这些属性是否以不同的方式处理?
答案 0 :(得分:1)
您是否尝试过frame.contentWindow.document.body.offsetHeight
来获得身高?内容的高度而不是iFrame标记对此更有效。