在网上找了很多的iframe自适应高度的脚本,对浏览的的兼容性都不好。所以就想利用jquery强大的兼容性,写一个iframe自适应高度的脚本。
jquery很强大,代码很简单:
$("#iPersonalInfo").load(function() {
$(this).height($(this).contents().height());
})
有一点需要注意的,我也在调试的时候才发现的,耽误了不少时间。就是绑定事件必须在iframe加载完毕之前绑定,否则不会执行。
以下是jQuery,load事件的概述
在每一个匹配元素的load事件中绑定一个处理函数。
如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。
注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。
另外一种方法实现自适应iframe高度自适应
function adjustIFramesHeightOnLoad(iframe) {
var iframeHeight = Math.min(iframe.contentWindow.window.document.documentElement.scrollHeight, iframe.contentWindow.window.document.body.scrollHeight);
$(iframe).height(iframeHeight);
}
本人采用的是第二种方法,并根据嵌套的级数
如果嵌套子页面中具有选项卡,或动态切换信息,即初始化处于隐藏状态时,
需要根据当前子页面所处的嵌套级数,写一个JS函数,动态的获取最外层iframe计算高度函数
//仅用于二级嵌套IFRAME
if(null!=parent.document.getElementById(iframeName) && "undefined"!=typeof(parent.document.getElementById(iframeName))){ window.parent.adjustIFramesHeightOnLoad();
}
//仅用于三级嵌套IFRAME
if(null!=parent.parent.document.getElementById("iframeName") && "undefined"!=typeof(parent.parent.document.getElementById("iframeName"))){
window.parent.parent.adjustIFramesHeightOnLoad();
}
注意,嵌套的IFRAME有几级,就写几个函数,并加上parent,如果嵌套页面不存在选项卡切换,或隐藏与显示内容,则不需要定义,注意在触发事件处,调用函数
分享到:
相关推荐
这段描述中提到的“完美自适应高度嵌套代码”很可能就是一个实现上述逻辑的JS代码片段,它可能包含了针对不同浏览器的兼容性处理,比如对于IE6-9这些老版本浏览器的特殊处理,因为它们对某些DOM操作和事件处理的支持...
本篇文章将深入讲解如何使用jQuery来解决`iframe`高度自适应的问题,并且确保代码在多数浏览器中都能完美运行。 首先,我们了解`iframe`的基本概念。`iframe`(Inline Frame)是HTML中的一个元素,用于在当前文档中...
为了解决这个问题,我们可以利用JavaScript库jQuery来实现IFrame的高度自适应,确保无论内容如何变化,IFrame都能够自动调整高度以适应其内容,同时兼容不同的浏览器,如IE、Firefox、Safari和Chrome。 首先,我们...
"iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)"这个标题所指向的,就是一种跨浏览器的策略,确保iFrame内容无论何时更新,都能自动调整其高度,从而避免滚动条的出现和内容溢出。...
为了解决这个问题,`jQuery`提供了一个专门的插件——"jquery对iframe自适应高度插件"。 这个插件是专门为了解决`iframe`高度自适应的问题而设计的,它允许`iframe`根据其内部内容自动调整高度,确保用户无需滚动就...
标题中的“jquery实现区块或链接横向无缝循环滚动,自适应宽度,可随意设置外容器的宽度,高度自适应,兼容IE,FF,CHROME”是一个jQuery插件或脚本的功能描述,它涉及到网页中元素的动态展示效果。下面将详细解释这...
本篇文章将详细探讨如何实现`iframe`根据页面内容自适应高度和宽度。 首先,我们需要理解`iframe`的基本结构。一个简单的`iframe`标签如下: ```html <iframe src=...
这个库允许的高度与同跨域iframe来适应他们所包含的内容的宽度自动调整大小。它最常见的问题与使用iframes提供一系列的功能,其中包括: 高度和宽度大小的iframe内容大小。 作品以多个嵌套的iframe。 跨域iframe域...
高度自适应,兼容IE,FF,CHROME”是一个jQuery插件或脚本的描述,它主要用于网页中创建一个功能强大的横幅滚动效果。这个效果允许网页上的区块或链接在水平方向上进行无缝循环滚动,同时具备自适应宽度和高度的能力...
在探讨“jQuery——TextArea高度自适应”的主题时,我们深入解析了如何利用jQuery库实现文本区域(TextArea)的高度自动调整,以确保其高度能够根据输入的文本量动态变化,从而提供更好的用户体验。以下是对该主题的...
标题"iframe跨域高度自适应例子源码"指的是一个实例,展示了如何在跨域的情况下使`iframe`内容自动调整高度以适应其内部内容。这个例子提供了一个在线演示(http://okiner.cn/demo/cross-domain/iframe.html)以及源...
jsp 页面 iframe 高度自适应的 js 代码详解 jsp 页面 iframe 高度自适应的 js 代码是指在 jsp 页面中使用 iframe 元素,並且使其高度能够自适应内容的高度。这种技术在实际应用中非常有用,例如在某些网页中,我们...
标题“Iframe 高度自适应浏览器高度”涉及的核心知识点是如何让Iframe的大小根据其内容自动调整,特别是高度,以便始终保持与浏览器窗口的高度同步,从而提供更好的用户体验。 首先,我们需要了解Iframe的基本结构...
在某些情况下,如果`iframe`内容与主页面同源,可以使用CSS的`resize`属性来尝试让`iframe`自适应高度。但是,这种方法并不适用于跨域的情况。 2. **JavaScript/jQuery解决方案**: 对于跨域的`iframe`,可以采用...
在本例中,jQuery被用于实现iframe的高度自适应功能。 知识点三:DOM操作 DOM(文档对象模型)是一个平台和语言无关的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。在本例中,通过jQuery对DOM...
本插件支持一个页面多次使用,自动播放切换图片列表,具备图片预加载功能,重置图片宽度,可以自动适应图片的宽和高以适应指定的宽高,可以指定图片列表,指定切换... 飞飞图片宽高自适应的slide幻灯片切换jQuery插件
在探讨“基于jQuery的兼容各种浏览器的iframe自适应高度的脚本”这一主题时,我们首先需要理解几个关键概念:iframe、自适应高度以及jQuery。 ### 1. iframe概述 iframe,即Inline Frame,是HTML中一个用于在当前...