jsp 內嵌網頁內容--iframe

來源:互聯網
上載者:User
js|網頁

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 >  <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="http://www.webjx.com/htmldata/2007-04-25/photo/up0605.gif" WIDTH="14" HEIGHT ="20" BORDER="0" ALT="按下滑鼠速度會更快!"></TD>
</TR>
<TR>
< TD WIDTH="14" VALIGN="BOTTOM"><IMG SRC="http://www.webjx.com/htmldata/2007-04-25/photo/down0605.gif" onmouseover ="scroll(1)"   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.webshu.com/tutorial/tor/7,id=0408.htm //iframe嵌入網頁的用法
http://www.phpx.com/man/dhtmlcn/objects/IFRAME.html  //IFRAME對象
http://www.hoyo.idv.tw/web-program/html/iframe.htm  //內嵌架構iframe



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.