jquery 实现iframe 自适应高度

如index.html页面里有如下代码:
<iframe scrolling=”auto” name=”iframebox” width=”100%” height=”100%” frameborder=”no” id=”iframebox” src=”child.html”></iframe>
如果想修正index.html页面的iframe自适高度,用下面的jquery代码1和代码2配合使用,代码1修正index.html页面,代码2修正child.html页面

jquery代码1:
<script type=”text/javascript”>
//为了解决iframe在IE7,IE8浏览器下的兼容问题
//这是iframe标签内SRC链接页面内的jquery代码
$(window.parent.document).find(“#iframebox”).load(function(){
var main = $(window.parent.document).find(“#iframebox”);
var thisheight = $(document).height()+30;
main.height(thisheight);
});
</script>

jquery代码2:
<script type=”text/javascript”>
//为了解决iframe在IE7,IE8浏览器下的兼容问题
//这是iframe标签同级的jquery代码
$(“#iframebox”).load(function(){
var mainheight = $(this).contents().find(“body”).height()+30;
$(this).height(mainheight);
});
</script>

注意:
上面的jqury代码1放在teacher.tpl和代码2放在t_main.tpl里的位置:

绑定事件必须在iframe加载完毕之前绑定,否则不会执行。
jQuery,load事件的概述:
在每一个匹配元素的load事件中绑定一个处理函数。
如果绑定给window对象,会在所有内容加载后触发,包括窗口,框架,对象和图像。
如果绑定在元素上,则当元素的内容加载完毕后触发。

只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。
如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论