js 监视 iframe 或 frameset 的内容变动(文盲第二版)
最近做一个项目,再页面内签入了一个 iframe,然后 iframe 内的内容经常变动,结果 iframe 的高度就无法固定了,需要根据内部显示的实际内容来定义 iframe 的高度。
经过测试,得到了以下代码,可以对 iframe 进行监视
// 使用了 jquery ,不使用的请自行修改为原生 js
$(ducument).ready(function(){
// 当页面加载完后判断页面内是否有 iframe
if ($('iframe').length) {
// 获取 iframe window对象的 document
var ifr = $(window.frames[0].document);
// 当 iframe document 加载完成是判断内容
ifr.ready(function () {
// 如果内容中包含 id=form1 的控件时,表示内容加载完成
// 这里可以换成其他任意标签
if (ifr.find('#form1').length) {
// 因为我用的是 .net 的页面,所以 form 表单的高度基本就是页面高度了
$('iframe:eq(0)').height(ifr.find('#form1').height() + 30);
}
});
}
}