zoukankan      html  css  js  c++  java
  • Iframe自适应其页面高度[转]

    程序代码:
    function SetWinHeight(obj)
    {
     var win=obj;
     if (document.getElementById)
     {
      if (win && !window.opera)
      {
       if (win.contentDocument && win.contentDocument.body.offsetHeight)

        win.height = win.contentDocument.body.offsetHeight;
       else if(win.Document && win.Document.body.scrollHeight)
        win.height = win.Document.body.scrollHeight;
      }
     }
    }
    最后,加入iframe,不能丢掉onload属性,当然了,id也必须也函数中的win匹配
     程序代码
    <iframe width="778" align="center" height="200" id="win" name="win" onload="Javascript:SetWinHeight(this)" frameborder="0" scrolling="no"></iframe>

    另一种情况的iframe解决方案(超简单)
    重要提示:src=中你必须填写的网页地址,一定要和本页面在同一个站点上,否则,会抱错,说“拒绝访问!”(实际上这是因为Js的跨域问题导致拒绝访问的)
    之前自己也碰到过这个问题,为了得到答案去网上搜索,发现有不少人也遇到了这样的问题,现在就把解决方法共享一下

    1、建立一个bottom.js的文件,然后输入下面的代码(只有两行哦)
    parent.document.all("框架ID名").style.height=document.body.scrollHeight;
    parent.document.all("框架ID名").style.width=document.body.scrollWidth;
    这里的 框架ID名 就是Iframe的ID,比如:
    <IFRAME id="框架ID名" name="left" frameBorder=0 scrolling=no src="XXX.asp" width="100%"></IFRAME>

    2、给你网站里所有的被包含文件里面每个都加入
    <script language = "JavaScript" src = "bottom.js"/></script>
    3、OK,收工!
    在WINXP、IE6下面测试通过。很简单吧!

    实现 iframe 的自适应高度
    实现 iframe 的自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象。
     程序代码
    <script type="text/javascript">
    //** iframe自动适应页面 **//

    //输入你希望根据页面高度自动调整高度的iframe的名称的列表
    //用逗号把每个iframe的ID分隔. 例如: ["myframe1", "myframe2"],可以只有一个窗体,则不用逗号。

    //定义iframe的ID
    var iframeids=["test"]

    //如果用户的浏览器不支持iframe是否将iframe隐藏 yes 表示隐藏,no表示不隐藏
    var iframehide="yes"

    function dyniframesize()
    {
    var dyniframe=new Array()
    for (i=0; i<iframeids.length; i++)
    {
    if (document.getElementById)
    {
    //自动调整iframe高度
    dyniframe[dyniframe.length] = document.getElementById(iframeids);
    if (dyniframe && !window.opera)
    {
    dyniframe.style.display="block"
    if (dyniframe.contentDocument && dyniframe.contentDocument.body.offsetHeight) //如果用户的浏览器是NetScape
    dyniframe.height = dyniframe.contentDocument.body.offsetHeight;
    else if (dyniframe.Document && dyniframe.Document.body.scrollHeight) //如果用户的浏览器是IE
    dyniframe.height = dyniframe.Document.body.scrollHeight;
    }
    }
    //根据设定的参数来处理不支持iframe的浏览器的显示问题
    if ((document.all || document.getElementById) && iframehide=="no")
    {
    var tempobj=document.all? document.all[iframeids] : document.getElementById(iframeids)
    tempobj.style.display="block"
    }
    }
    }

    if (window.addEventListener)
    window.addEventListener("load", dyniframesize, false)
    else if (window.attachEvent)
    window.attachEvent("onload", dyniframesize)
    else
    window.onload=dyniframesize
    </script>

    Trackback:http://www.cnblogs.com/7in10/archive/2007/10/08/917291.html

  • 相关阅读:
    11-Mybatis中使用PageHelper分页插件
    10-Mybatis使用注解开发
    Windows快捷键
    环境搭建
    计算机基础
    oracle语句
    oracle
    测试质量和类型
    测试基础
    项目部署和总结
  • 原文地址:https://www.cnblogs.com/witer666/p/962096.html
Copyright © 2011-2022 走看看