iframe自动高度调整在IE中不能很好地工作

iframe automatic height sizing not works well with IE

本文关键字:不能 很好 工作 IE 高度 调整 iframe      更新时间:2023-09-26

我有一个小问题。在我的aspx页面上,我有一个包含网格,表格等的iframe,它们总是明显地改变它们的高度。之前的开发团队解决了这个问题,他们将iframe的height属性设置为恒定的3500px。它不是那么优雅的方式,所以我添加了一个JS代码,自动检查内容和调整iframe的高度。我从这里得到了JS脚本:

iframe Auto Adjust Height as content changes

问题是,这个js代码在Chrome和Firefox中工作得很好,几乎每次都在IE中。有时我在IE中得到一个错误消息说:"无法获取属性'nodename'的未定义或null引用jquery"或"无效参数"。从这个时候开始,setInterval内的函数将永远不会再运行,这就是为什么iframe高度永远不会被调整。我做了一些修改,这个高度检查函数是从body onload事件调用的。理论上,当整个dom结构被加载时,这个js脚本将运行。Firefox和Chrome还可以,IE 10次中有8次也可以。

有人能帮我吗?你能给我一些建议吗?非常感谢。

在内部执行您的代码,以确保它在整个页面构建完成时执行:

$(document).ready(function(e) {
    // .. iframe resize here
});

在加载页面时,像这样的零星失败几乎总是由于在加载页面和DOM准备好之前执行JavaScript引起的。