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 相关文章推荐
10个基于浏览器的JavaScript调试工具分享
Feb 07 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
Aug 23 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
Nov 09 Javascript
JavaScript中String对象的方法介绍
Jan 04 Javascript
AngularJS 文件上传控件 ng-file-upload详解
Jan 13 Javascript
Vue中建立全局引用或者全局命令的方法
Aug 21 Javascript
微信小程序实现横向增长表格的方法
Jul 24 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
Aug 07 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
Aug 08 Javascript
JavaScript禁用右键单击优缺点分析
Jan 20 Javascript
VUE渲染后端返回含有script标签的html字符串示例
Oct 28 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
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
js代码实现微博导航栏
2015/07/30 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
python 字典(dict)按键和值排序
2016/06/28 Python
Python 的AES加密与解密实现
2019/07/09 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
HTML5中的拖放实现详解
2017/08/23 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
优秀毕业生求职信
2014/06/05 职场文书
市场策划求职信
2014/08/07 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
秦兵马俑导游词
2015/02/02 职场文书
2015年大学生实习评语
2015/03/25 职场文书
歼十出击观后感
2015/06/11 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫
DQL数据查询语句使用示例
2022/12/24 MySQL