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 相关文章推荐
javascript 写类方式之三
Jul 05 Javascript
一个简单的瀑布流效果(主体形式自写)
May 27 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
Mar 04 Javascript
Javascript控制div属性动态变化实例分析
Oct 08 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
Oct 14 Javascript
bootstrap按钮插件(Button)使用方法解析
Jan 13 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
Jun 29 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
Dec 13 Javascript
微信小程序实现红包雨功能
Jul 11 Javascript
vue左侧菜单,树形图递归实现代码
Aug 24 Javascript
解决angularJS中input标签的ng-change事件无效问题
Sep 13 Javascript
微信小程序实现多图上传
Jun 19 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版 汉字转码的实现详解
2013/06/09 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
php猜单词游戏
2015/09/29 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
微信小程序实现的picker多级联动功能示例
2019/05/23 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
python Opencv将图片转为字符画
2021/02/19 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
python读写csv文件的方法
2019/08/13 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
什么是Web Service?
2012/07/25 面试题
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
大型车展策划方案
2014/02/01 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
个人借款协议书范本
2014/11/17 职场文书
论文答谢词
2015/01/20 职场文书
民事答辩状范本
2015/05/21 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python