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 相关文章推荐
cnblogs中在闪存中屏蔽某人的实现代码
Nov 14 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
Mar 02 Javascript
png在IE6 下无法透明的解决方法汇总
May 21 Javascript
js动态生成form 并用ajax方式提交的实现方法
Sep 09 Javascript
原生javascript实现分页效果
Apr 21 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
May 11 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
Aug 10 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
May 08 Javascript
Promise扫盲贴
Jun 24 Javascript
vue获取验证码倒计时组件
Aug 26 Javascript
Vue监听滚动实现锚点定位(双向)示例
Nov 13 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 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需登录的文件上传管理系统
2020/03/21 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
利用纯js + transition动画实现移动端web轮播图详解
2017/09/10 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
2021/01/20 Vue.js
Python os模块学习笔记
2015/06/21 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
python3的输入方式及多组输入方法
2018/10/17 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
自定义django admin model表单提交的例子
2019/08/23 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
2020/04/10 Python
Python bisect模块原理及常见实例
2020/06/17 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
妇产科护士自我鉴定
2013/10/15 职场文书
文科教师毕业的自我评价
2014/01/16 职场文书
会务接待方案
2014/02/27 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
房地产活动策划方案
2014/05/14 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
交流会主持词
2015/07/02 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS