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 相关文章推荐
iphone safari不支持position fixed的解决方法
May 04 Javascript
jquery写个checkbox——类似邮箱全选功能
Mar 19 Javascript
使用js实现雪花飘落效果
Aug 26 Javascript
jQuery实现垂直半透明手风琴特效代码分享
Aug 21 Javascript
jQuery使用deferreds串行多个ajax请求
Aug 22 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
Dec 13 Javascript
基于模板引擎Jade的应用(详解)
Dec 12 Javascript
Angular实现的简单定时器功能示例
Dec 28 Javascript
Vue实现按钮旋转和移动位置的实例代码
Aug 09 Javascript
新手入门js闭包学习过程解析
Oct 08 Javascript
如何基于javascript实现贪吃蛇游戏
Feb 09 Javascript
微前端qiankun改造日渐庞大的项目教程
Jun 21 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-MySQL教程归纳总结
2008/06/07 PHP
PHP GD 图像处理组件的常用函数总结
2010/04/28 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
php中session使用示例
2014/03/29 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
动态添加js事件实现代码
2009/03/12 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
举例介绍Python中的25个隐藏特性
2015/03/30 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
2021/02/01 Python
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
电子专业推荐信范文
2013/11/18 职场文书
建筑专业自荐信范文
2014/01/05 职场文书
公司道歉信范文
2014/01/09 职场文书
学生请假条格式
2014/04/11 职场文书
护理见习报告范文
2014/11/03 职场文书
2015年公务员工作总结
2015/04/24 职场文书
暂住证证明
2015/06/19 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript