zoukankan      html  css  js  c++  java
  • iframe高度处理【原创】

      以前处理iframe高度的时候,是在每个页面里写两句js,感觉太烦了,今天处理了下,并增加对ff的支持。代码如下:

    /**
     * iframe高度处理
     * @author zxub 2006-09-29
     
    */

    /**
     * 设置iframe高度等于内部页面高度,用于内部页面
     
    */ 
    function setParentHeight(_iframeId)
    {    
        
    if (parent.setIFrameHeight) return;
        
        
    if (window.addEventListener) //firefox
        {       
            
    var _action=function()
            {            
                
    var _iframe=parent.document.getElementById(_iframeId);
                
    if (!_iframe) return;
                _iframe.height
    =_iframe.contentDocument.body.offsetHeight+16;
            }   
            window.addEventListener(
    "load", _action, false);
        }
        
    else if (window.attachEvent) //IE
        {
            
    var _action=function()
            {
                
    if (!parent.document.getElementById(_iframeId)) return;
                parent.document.getElementById(_iframeId).height
    =document.body.scrollHeight;
            }
            window.attachEvent(
    "onload", _action);
        }
    }

    /**
     * 设置iframe高度等于内部页面高度,用于父级页面
     
    */
    function setIFrameHeight(_iframeId)
    {    
        
    if (window.addEventListener) //firefox
        {          
            
    var _action=function()
            {       
                
    var _iframe=document.getElementById(_iframeId);
                
    if (!_iframe) return;
                _iframe.height
    =_iframe.contentDocument.body.scrollHeight;
                _iframe.onload
    =function()
                {
                    
    this.height=this.contentDocument.body.offsetHeight+16;
                }
            }
            window.addEventListener(
    "load", _action, false);
        }
        
    else if (window.attachEvent) //IE
        {
            
    var _action=function()
            {        
                
    if (!document.getElementById(_iframeId)) return;
                document.getElementById(_iframeId).height
    =document.frames[_iframeId].document.body.scrollHeight;
                document.getElementById(_iframeId).onreadystatechange
    =function()
                {
                    
    if (this.readyState=="complete")
                    {
                        
    this.height=document.frames[_iframeId].document.body.scrollHeight;
                    }
                }
            }
            window.attachEvent(
    "onload", _action);
        }
    }

      setIFrameHeight()最简单了,只要在主页面加这么一句就可以了,内部页面就不需要写什么了。

  • 相关阅读:
    angular.js 头部默认值,不使用json提交数据
    D1-FFmpeg拼接视频
    B23-Carthage的使用
    B22-SVN在iOS开发的使用中遇到的问题
    C4-Cordova在iOS平台的使用
    C2-PhoneGap的环境搭建及iOS项目创建
    C0-PhoneGap之移动开发策略的选择(翻译)
    C1-PhoneGap和Cordova的关系和认识
    B21-iOS 开发的一些tips(下)
    B17-禅与 Objective-C 编程艺术的阅读笔记
  • 原文地址:https://www.cnblogs.com/zxub/p/518026.html
Copyright © 2011-2022 走看看