看板 uefacool
作者 標題 [轉錄][轉錄] [轉貼]iframe語法整理區
時間 2010年04月03日 Sat. AM 12:25:39
※ 本文轉錄自 P_qman 看板
看板 P_qman
作者 標題 [轉錄] [轉貼]iframe語法整理區
時間 2010年04月02日 Fri. PM 04:30:17
※ 本文轉錄自 ott 看板
看板 ott
作者 標題 [轉貼]iframe語法整理區
時間 2010年04月02日 Fri. AM 10:29:34
[轉貼]iframe語法整理區
時間:2007/09/23 作者: qfli
0 人
IFrame可以在網頁?嵌入另一個頁面,類似“畫中畫”形式。
標記的使用格式是:
<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?記。
例子:
1:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<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>
2:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
用了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.memorybbs.com/cgi-bin/topic.cgi?forum=77&topic=189
--
※ 來源: DISP BBS (http://disp.cc)
※ 作者: ott 來自: 118.166.1.45 時間: 2010-04-02 10:29:34
※ <( ̄ー ̄)b 共 2 個人都讚這好!
推 :哦哦 可以嵌播放器了 ^^>>218.170.162.45 04-02 10:45
※ tingyun:轉錄至看板 cloudofsky 來自:218.170.162.45 時間:2010-04-02 10:46:00※ Ann:轉錄至看板 im_an 來自:123.110.6.229 時間:2010-04-02 16:12:49
推 :借傳>>122.116.161.178 04-02 16:30
--
※ 來源: DISP BBS (http://disp.twbbs.org)
※ 作者: cuteman0725 來自: 122.116.161.178 時間: 2010-04-02 16:30:17
推 :借轉>>123.110.132.168 04-03 00:25
--
※ 來源: DISP BBS (http://disp.twbbs.org)
※ 作者: uefangsmith 來自: 123.110.132.168 時間: 2010-04-03 00:25:39
※ 編輯: uefangsmith 來自: 123.110.129.167 時間: 2010-04-04 11:00:39
※ 看板: uefacool 文章推薦值: 0 目前人氣: 0 累積人氣: 52
回列表(←)
分享