javascript 中iframe高度自适应(同域)实例详解


Posted in Javascript onMay 16, 2017

javascript 中iframe高度自适应(同域)

       今天解决了iframe高度自适应的问题,不过这只是同域下的页面嵌入,以下是代码:

function SetCwinHeight(){

     var iframeid = document.getElementById("frame");  //frame是iframe的id

     if (document.getElementById) {
      if (iframeid && !window.opera) {
        if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight) {

         iframeid.height = iframeid.contentDocument.body.offsetHeight;

        }else if (iframeid.Document && iframeid.Document.body.scrollHeight) {
         
         iframeid.height = iframeid.Document.body.scrollHeight;
         
        }
      }
     }

             iframe嵌入页面时需要等待它完全加载完后才可以调用SetCwinHeight(),所以当修改iframe里的src值时,也需要等待修改的页面完全嵌入后才可以调用SetCwinHeight(),这样才有效果,那么该怎么放置SetCwinHeight(),我的解决方法是在iframe标签里直接调用,即这样写 <iframe onload = "SetCwinHeight();"></iframe>,但是这样的的话会污染了html环境,可是在js中一般只用一次window.onload = function(){},如果使用多次,后面的会覆盖前面的,所以目前为止我能想到的解决方法就这一个,

      当嵌入页面修改时,iframe的高度也需要调整,当我在js文件直接这样window.onload = function(){SetCwinHeight();}调用SetCwinHeight()时,只有刷新整个页面才可以自适应高度,如果修改了iframe的src,iframe的高度还是前一个页面的高度,当前页面的高度无法自适应,一开始我以为是SetCwinHeight()写错了,但是当刷新整个页面时,当前页面又可以自适应了,在遇到这个问题之后,我的焦急毛病又出现了,总是没有分析问题就急急忙忙的去查找有关于问题的解决方法,然后查出来的又文不对题,这样反反复复,不仅浪费了时间,还使得自己的心情特别烦躁,这样的话工作就无法再进展下去。通过了这次的工作明白了自己的毛病,在休息了一会后,重新静下心来整理思路,然后分析出现的问题,程序如何运行,点击后程序运行的步骤又是什么,分析完后再看看是哪一步出错了,为什么会出错,像这次出现的错误,并不是程序写错了,而是程序运行的步骤出错了,整个页面刷新后就可以实现效果,但是修改src后又没有效果了,而window.onload = function(){}这一步是等待页面完全加载完后才执行,那么应该就是加载的问题了,所以需要等待页面加载完后才可以调用SetCwinHeight(),通过这样的分析,最后终于将问题解决了,经过这次,我一定要改掉急躁这个毛病,应该在遇到问题后,先分析问题和思考解决方法,如果自己解决不了再去查找相应的解决方法。这样就不会浪费时间和精力了。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jquery text()要注意啦
Oct 30 Javascript
jQuery Selector选择器小结
May 06 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
JQuery实现带排序功能的权限选择实例
May 18 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
Javascript简单实现面向对象编程继承实例代码
Nov 27 Javascript
JavaScript匿名函数之模仿块级作用域
Dec 12 Javascript
AngularJS ng-template寄宿方式用法分析
Nov 07 Javascript
深入掌握 react的 setState的工作机制
Sep 27 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
Jan 25 Javascript
详解Vue.js使用Swiper.js在iOS
Sep 10 Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
May 30 #Javascript
Vue.js tab实现选项卡切换
May 16 #Javascript
Vue.js手风琴菜单组件开发实例
May 16 #Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 #Javascript
js自定义瀑布流布局插件
May 16 #Javascript
简单实现js点击展开二级菜单功能
May 16 #Javascript
JavaScript禁止微信浏览器下拉回弹效果
May 16 #Javascript
You might like
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
PHP中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
javascript鼠标滑过显示二级菜单特效
2020/11/18 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
深入探究node之Transform
2017/07/20 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
python简单分割文件的方法
2015/07/30 Python
python之Socket网络编程详解
2016/09/29 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
python interpolate插值实例
2020/07/06 Python
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
JDO的含义
2012/11/17 面试题
东方通信股份有限公司VC面试题
2014/08/27 面试题
2014年采购工作总结
2014/11/20 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB