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);
            }
        });
	}
}


你可能感兴趣的:(js 监视 iframe 或 frameset 的内容变动)