首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp 内嵌网页内容-iframe兑现

2011-12-13 
jsp 内嵌网页内容--iframe实现ZZzzz~maywindIframesrc /URL width x height x scrolling [OPT

jsp 内嵌网页内容--iframe实现
ZZzzz~   may   wind

<Iframe   src= "/URL "   width= "x "   height= "x "   scrolling= "[OPTION] "   frameborder= "x "> </iframe>  
 src:文件的路径,既可是HTML文件,也可以是文本、ASP等;  
 width、height: "画中画 "区域的宽与高;  
 scrolling:当SRC的指定的HTML文件在指定的区域不显不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示;  
frameborder:区域边框的宽度,为了让“画中画“与邻近的内容相融合,常设置为0。  

  比如:  

<Iframe   src= "http://www.xyz.com/xyz ";   width= "250 "   height= "200 "   scrolling= "no "   frameborder= "0 "> </iframe>

  窗口与浮动帧之间的相互控制
  在脚本语言与对象层次中,包含Iframe的窗口我们称之为父窗体,而浮动帧则称为子窗体,弄清这两者的关系很重要,因为要在父窗体中访问子窗体或相反都必须清楚对象层次,才能通过程序来访问并控制窗体。  

  1、在父窗体中访问并控制子窗体中的对象  
  在父窗体中,Iframe即子窗体是document对象的一个子对象,可以直接在脚本中访问子窗体中的对象。  
  现在就有一个问题,即,我们怎样来控制这个Iframe,这里需要讲一下Iframe对象。当我们给这个标记设置了ID   属性后,就可通过文档对象模型DOM对Iframe所含的HTML进行一系列控制。  

  比如在example.htm里嵌入test.htm文件,并控制test.htm里一些标记对象:  
   <Iframe   src= "test.htm "   id= "test "   width= "250 "   height= "200 "   scrolling= "no "   frameborder= "0 "> </iframe>  
test.htm文件代码为:  
   <html>  
    <body>  
     <h1   id= "myH1 "> hello,my   boy </h1>  
    </body>  
   </html>  
  如我们要改变ID号为myH1的H1标记里的文字为hello,my   dear,则可用:  
  document.myH1.innerText= "hello,my   dear "(其中,document可省)  
  在example.htm文件中,Iframe标记对象所指的子窗体与一般的DHTML对象模型一致,对对象访问控制方式一样,就不再赘述。  

  2、在子窗体中访问并控制父窗体中对象  
  在子窗体中我们可以通过其parent即父(双亲)对象来访问父窗口中的对象。  
  如example.htm:  
   <html>  
    <body   onclick= "alert(tt.myH1.innerHTML) ">     <Iframe   name= "tt "   src= "frame1.htm "   width= "250 "   height= "200 "   scrolling= "no "   frameborder= "0 "> </iframe>  
     <h1   id= "myH2 "> hello,my   wife </h1>  
    </body>  
   </html>  
  如果要在frame1.htm中访问ID号为myH2中的标题文字并将之改为 "hello,my   friend ",我们就可以这样写:  
  parent.myH2.innerText= "hello,my   friend "  
  这里parent对象就代表当前窗体(example.htm所在窗体),要在子窗体中访问父窗体中的对象,无一例外都通过parent对象来进行。  

  Iframe虽然内嵌在另一个HTML文件中,但它保持相对的独立,是一个“独立王国“哟,在单一HTML中的特性同样适用于浮动帧中。  

     试想一下,通过Iframe标记,我们可将那些不变的内容以Iframe来表示,这样,不必重复写相同的内容,这有点象程序设计中的过程或函数,减省了   多少繁琐的手工劳动!另外,至关重要的是,它使页面的修改更为可行,因为,不必因为版式的调整而修改每个页面,你只需修改一个父窗体的版式即可了。  
  要注意的是,Nestscape6.0之前版本不支持Iframe标记。  

  例子:

<iframe   src= "页面 "   width= "宽度 "     height= "高度 "   align= "排列可以是left或right,center "   scrolling= "是否有滚动条可以填no或yes "> </iframe>  

<IFRAME   frameBorder=0   frameSpacing=0   height=25   marginHeight=0   marginWidth=0   scrolling=no  
name=main   src= "/bgm/bgm.html "   width=300> </IFRAME>

用了iframe后   发现滚动条不漂亮   想用2个图片来代替↑↓  
应该怎么实现呢?

回答:
用下列代码替换网页的 <title> .. </title>  
<SCRIPT   LANGUAGE= "javascript ">
function   scroll(n)
{temp=n;
Out1.scrollTop=Out1.scrollTop+temp;
if   (temp==0)   return;


setTimeout( "scroll(temp) ",80);
}
</SCRIPT>
<TABLE   WIDTH= "330 ">
<TR>  
<TD   WIDTH= "304 "   VALIGN= "TOP "   ROWSPAN= "2 "   >  
<DIV   ID=Out1   STYLE= "width:100%;   height:100;overflow:   hidden   ;border-style:dashed;border-width:  
1px,1px,1px,1px; ">  
文字 <BR>   文字 <BR>
文字 <BR>  
文字 <BR>
文字
<BR>
<BR>
</DIV>
</TD>
<   TD   WIDTH= "14 "   VALIGN= "TOP "> <IMG   SRC= "photo/up0605.gif "   WIDTH= "14 "   HEIGHT   = "20 "   onmouseover= "scroll(-1) "   onmouseout= "scroll(0) "   onmousedown= "scroll   (-3) "   BORDER= "0 "   ALT= "按下鼠标速度会更快! "> </TD>
</TR>
<TR>
<   TD   WIDTH= "14 "   VALIGN= "BOTTOM "> <IMG   SRC= "photo/down0605.gif "   onmouseover   = "scroll(1) "   onmouseout= "scroll(0) "     onmousedown= "scroll(3) "   BORDER= "0 "   WIDTH   = "15 "   HEIGHT= "21 "   ALT= "按下鼠标速度会更快! "> </TD>
</TR>
</TABLE>

下面这段代码可以实现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>


转http://www.knowsky.com/


[解决办法]
不错
顶了
------解决方案--------------------


qzshi.com这是我自己弄的论坛,刚开的,还没有内容
有谁有时间的可以加我QQ40321289一起管理,请高手
参与
[解决办法]
target 这么重要的参数都没列出来!

[解决办法]
mark

热点排行