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执行效率与性能提升方案
Dec 21 Javascript
JQuery在页面中添加和除移DOM示例代码
Jun 24 Javascript
js中单引号与双引号冲突问题解决方法
Oct 04 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
c#程序员对TypeScript的认识过程
Jun 19 Javascript
JavaScript中日期的相关操作方法总结
Oct 24 Javascript
jQuery自动完成插件completer附源码下载
Jan 04 Javascript
实例讲解js验证表单项是否为空的方法
Jan 09 Javascript
jQuery实现背景滑动菜单
Dec 02 Javascript
vue中$refs的用法及作用详解
Apr 24 Javascript
使用 Vue 实现一个虚拟列表的方法
Aug 20 Javascript
jQuery AJAX应用实例总结
May 19 jQuery
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/10/22 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
数组任意位置插入元素,删除特定元素的实例
2017/03/02 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
2017/09/28 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
[04:16]DOTA2英雄梦之声_第09期_斧王
2014/06/21 DOTA
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
python difflib模块示例讲解
2017/09/13 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
python多线程同步实例教程
2019/08/11 Python
python关闭占用端口方式
2019/12/17 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
浅析Python面向对象编程
2020/07/10 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
卫校毕业生自我鉴定
2013/10/31 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
商场消防安全责任书
2014/07/29 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
酒店工程部岗位职责
2015/02/12 职场文书
聘任证明怎么写
2015/03/02 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
Python jiaba库的使用详解
2021/11/23 Python
MySQL多表查询机制
2022/03/17 MySQL
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server