CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

ifram动态根据内容网页的高度调整高度

楼主afanti_nj(阿凡提)2005-12-28 11:43:40 在 Web 开发 / JavaScript 提问

我试了网上的不少代码都不行,网页在同一网站的可以,可是内容网页不在同一网站就不起作用了,请高手指点,万分感谢 问题点数:100、回复次数:12Top

1 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2005-12-28 12:37:07 得分 15

写在主页面上,不要写在iframe里面  
  因为默认的是不能跨域  
  Top

2 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2005-12-28 12:41:26 得分 15

<iframe   name=iframe1   onload=haha()   style="width:300;height:300"   src="3.htm"></iframe>  
  <script   language=javascript>  
  function   haha()  
  {  
  document.getElementById("iframe1").style.height=iframe1.document.body.scrollHeight+20  
  }  
  </script>Top

3 楼srnld(天涯)回复于 2005-12-28 12:47:55 得分 15

实现   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>Top

4 楼srnld(天涯)回复于 2005-12-28 12:49:02 得分 10

<iframe   name="frame"   src="aa.html"   style="height:expression(eval(frame.document.body.scrollHeight))"   align="left"   width="100%"   marginwidth="0"   marginheight="0"   scrolling="no"   FRAMEBORDER="1"></iframe>Top

5 楼czq9966(宁录)(毛主席领导咱闹革命……)回复于 2005-12-28 13:10:43 得分 10

UPTop

6 楼afanti_nj(阿凡提)回复于 2005-12-28 13:43:24 得分 0

<HTML><HEAD>  
  <TITLE>   New   Document   </TITLE>  
  </HEAD>  
  <BODY>  
  test<br>  
  <iframe   name="frame"   src="http://www.xnsk.net"   style="height:expression(eval(frame.document.body.scrollHeight))"   align="left"   width="100%"   marginwidth="0"   marginheight="0"   scrolling="no"   FRAMEBORDER="1"></iframe>  
  <br><br>test  
  </BODY></HTML>  
   
   
  上面是个页面的测试代码,如果放在同一个网站上进行访问是可以实现的,如果不是的就不行了,有没办法解决,上面的代码我也试过的还是不行Top

7 楼kele2005(土坷垃)回复于 2005-12-28 14:42:53 得分 15

........  
  <script   language="javascript">  
  function   ChangeWidth()  
  { var   theHeight   =   document.main.document.body.scrollHeight;  
  var   theWidth   =   document.main.document.body.scrollWidth;  
  //alert(theHeight);  
  document.main.document.body.oncontextmenu="window.event.returnValue=false";  
  document.main.resizeTo(theWidth,theHeight);  
  }  
  </script>  
  .............  
  <iframe   name=frame   src=youpage.htm>  
  .........  
   
  然后在youpage.htm的代码结尾加上如下代码即可:  
  <script   language="javascript">  
  parent.ChangeWidth();  
  </script>Top

8 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2005-12-28 15:04:42 得分 10

这个问题我看到过,如果引用的是别人的页面就不好办了。如果是自己的就好办,就是里面的代码可以修改就好办。  
   
  可以在里面用cookie写值,在外面当onload之后读值,即可实现Top

9 楼afanti_nj(阿凡提)回复于 2005-12-28 15:21:46 得分 0

郁闷,还是不行,显示javascript错误,错误类型为:没有权限,怎么办呢郁闷Top

10 楼tigerwen01(小虎)回复于 2005-12-28 16:11:59 得分 10

要访问别人的网站得先要有权限,没有权限是访问不了的。Top

11 楼afanti_nj(阿凡提)回复于 2005-12-29 09:14:26 得分 0

我的目的是让别人的网站嵌入自己网站的网页,不知道应该怎么设置权限呀,请指教Top

12 楼afanti_nj(阿凡提)回复于 2005-12-30 09:40:17 得分 0

怎么办呀Top

相关问题

  • 如何调整动态生成的DataGrid在网页上显示的位置。
  • 用问有没有办法动态调整网页中的frameset的大小,谢谢?
  • 动态网页问题
  • .net 动态生成网页
  • 请教 如何动态刷新网页?
  • 在网页中动态增加对象
  • 做个动态网页,请教高手
  • 如何动态生成网页呀?C#
  • 动态网页 onmouseout事件问题?
  • 动态删除网页代码

关键词

得分解答快速导航

  • 帖主:afanti_nj
  • hbhbhbhbhb1021
  • hbhbhbhbhb1021
  • srnld
  • srnld
  • czq9966
  • kele2005
  • hbhbhbhbhb1021
  • tigerwen01

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo