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="按下滑鼠速度會更快!
</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.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