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 相关文章推荐
splice slice区别
Oct 09 Javascript
利用javascript的面向对象的特性实现限制试用期
Aug 04 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
Nov 25 Javascript
js生成随机数之random函数随机示例
Dec 20 Javascript
自己动手手写jQuery插件总结
Jan 20 Javascript
前端js文件合并的三种方式推荐
May 19 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
Dec 14 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
Feb 20 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
Apr 14 Javascript
react组件基本用法示例小结
Apr 27 Javascript
JS实现购物车基本功能
Nov 08 Javascript
一篇文章告诉你如何实现Vue前端分页和后端分页
Feb 18 Vue.js
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运行速度的一些小技巧分享
2012/07/03 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
jQuery基本过滤选择器使用介绍
2013/04/18 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
Vue父子传递实例讲解
2020/02/14 Javascript
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python实现的质因式分解算法示例
2018/05/03 Python
python字符串反转的四种方法详解
2019/12/02 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
python两种注释用法的示例
2020/10/09 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
python实现网页录音效果
2020/10/26 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
学生党支部先进事迹
2014/02/04 职场文书
有创意的广告词
2014/03/18 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
学校交通安全责任书
2014/08/25 职场文书
学校师德师风整改措施
2014/10/27 职场文书
学校中秋节活动总结
2015/03/23 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
教师师德工作总结2015
2015/07/22 职场文书
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android