相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- ThinkPHP 5.1、6.0、6.1 與 8.0 版本對比分析
- 涉嫌侵權(quán)的人只復(fù)制了版權(quán)軟件,沒有傳播給其他人,是否符合復(fù)制侵權(quán)的判定?
- 網(wǎng)站域名備案到企業(yè)名下后,即表明是商業(yè)使用了嗎?
- 軟件中使用了GPL & MIT 協(xié)議的文件 和 使用了 GPL | MIT 的有什么區(qū)別?
- 網(wǎng)站版權(quán)糾紛中的來源非法是否有嚴(yán)格的司法定義?
- [確定有效] ECSHOP后臺登錄不了的問題解決 https打不開
- 免費搜索代碼:如何利用百度做一個企業(yè)網(wǎng)站內(nèi)搜索?
- MySQL 中 HAVING 與 REPLACE 的用法解析
- 深入理解 MySQL 的連接操作:-h、-P、-u、-p 詳解
- 在 MySQL Workbench 中自定義導(dǎo)出文件格式的解決方案
HTML iframe 用法總結(jié)收藏
Iframe用法精析
<iframe frameborder=0 width=170 height=100 marginheight=0 marginwidth=0 scrolling=no src="move-ad.htm"></iframe>
<IFRAME>用于設(shè)置文本或圖形的浮動圖文框或容器。
BORDER
<IFRAME BORDER="3"></IFRAME>
設(shè)定圍繞圖文框的邊緣寬度
FRAMEBODER
<IFRAME FRAMEBODER="0"></IFRAME>
設(shè)置邊框是不否為3維(0=否,1=是)
HEIGHT,WIDTH
<IFRAME HEIGHT="31" WIDTH="88"></IFRAME>
設(shè)質(zhì)邊框的寬度和高度
SCROLLING
<IFRAME SCROLLING="NO"></IFRAME>
是否有滾動條(YES,NO,AUTO)
SRC
<IFRAME SRC="GIRL.GIF"></IFRAME>
指定IFRAME調(diào)用的文件或圖片(HTML,HTM,GIF,JPEG,JPG,PNG,TXT,*.*)
“畫中畫”效果--談IFRAME標(biāo)簽的使用
縱觀時下網(wǎng)站,本來網(wǎng)速就有些慢,可是幾乎每頁都要放什么Banner,欄目圖片,版權(quán)等一大堆雷同的東西,當(dāng)然,出于網(wǎng)站風(fēng)格統(tǒng)一、廣告效應(yīng)的需要,本無可厚非,可畢竟讓用戶的錢包為這些“點綴“的東西”日益消得錢憔悴”了,有沒有辦法,讓這些雷同的東西一次下載后就不用再下載,而只下載那些內(nèi)容有變化區(qū)域的網(wǎng)頁內(nèi)容呢?
答案很肯定:應(yīng)用Iframe標(biāo)記!
一、Iframe標(biāo)記的使用
提起Iframe,可能你早已將之扔到“被遺忘的角落”了,不過,說起其兄弟Frame就不會陌生了。Frame標(biāo)記即幀標(biāo)記,我們所說的多幀結(jié)構(gòu)就是在一個瀏覽器窗口中顯示多個HTML文件。現(xiàn)在,我們遇到一種很現(xiàn)實的情況:如有一個教程,是一節(jié)一節(jié)地上,每頁末尾做一個“上一節(jié)“、“下一節(jié)“的鏈接,除了每節(jié)教程內(nèi)容不同之外,頁面其它部分內(nèi)容都是相同的,如果一頁一頁地做笨頁面,這似乎太讓人厭煩了,這時突發(fā)奇想,如果有一種方法讓頁面其它地方不變,只將教程做成一頁一頁的內(nèi)容頁,不含其它內(nèi)容,在點擊上下翻頁鏈接時,只改變教程內(nèi)容部分,其它保持不變,這樣,一是省時,另則以后如教程有個三長兩短的變動,也很方便,不致于牽一發(fā)而動全軍了;更重要的是將那些廣告Banner、欄目列表、導(dǎo)航等幾乎每頁的都有的東西只下載一次后就不再下載了。 Iframe標(biāo)記,又叫浮動幀標(biāo)記,你可以用它將一個HTML文檔嵌入在一個HTML中顯示。它不同于Frame標(biāo)記最大的特征即這個標(biāo)記所引用的 HTML文件不是與另外的HTML文件相互獨立顯示,而是可以直接嵌入在一個HTML文件中,與這個HTML文件內(nèi)容相互融合,成為一個整體,另外,還可以多次在一個頁面內(nèi)顯示同一內(nèi)容,而不必重復(fù)寫內(nèi)容,一個形象的比喻即“畫中畫“電視。
現(xiàn)在我們談一下Iframe標(biāo)記的使用。
Iframe標(biāo)記的使用格式是:
<Iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>
src:文件的路徑,既可是HTML文件,也可以是文本、ASP等;
width、height:"畫中畫"區(qū)域的寬與高;
scrolling:當(dāng)SRC的指定的HTML文件在指定的區(qū)域不顯不完時,滾動選項,如果設(shè)置為NO,則不出現(xiàn)滾動條;如為Auto:則自動出現(xiàn)滾動條;如為Yes,則顯示;
FrameBorder:區(qū)域邊框的寬度,為了讓“畫中畫“與鄰近的內(nèi)容相融合,常設(shè)置為0。
比如:
<Iframe src="http://www.jb51.net";; width="250" height="200" scrolling="no" frameborder="0"></iframe>
二、父窗體與浮動幀之間的相互控制 在腳本語言與對象層次中,包含Iframe的窗口我們稱之為父窗體,而浮動幀則稱為子窗體,弄清這兩者的關(guān)系很重要,因為要在父窗體中訪問子窗體或相反都必須清楚對象層次,才能通過程序來訪問并控制窗體。
1、在父窗體中訪問并控制子窗體中的對象
在父窗體中,Iframe即子窗體是document對象的一個子對象,可以直接在腳本中訪問子窗體中的對象。
現(xiàn)在就有一個問題,即,我們怎樣來控制這個Iframe,這里需要講一下Iframe對象。當(dāng)我們給這個標(biāo)記設(shè)置了ID 屬性后,就可通過文檔對象模型DOM對Iframe所含的HTML進(jìn)行一系列控制。
比如在example.htm里嵌入test.htm文件,并控制test.htm里一些標(biāo)記對象:
<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標(biāo)記里的文字為hello,my dear,則可用:
document.myH1.innerText="hello,my dear"(其中,document可省)
在example.htm文件中,Iframe標(biāo)記對象所指的子窗體與一般的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中的標(biāo)題文字并將之改為"hello,my friend",我們就可以這樣寫:
parent.myH2.innerText="hello,my friend"
這里parent對象就代表當(dāng)前窗體(example.htm所在窗體),要在子窗體中訪問父窗體中的對象,無一例外都通過parent對象來進(jìn)行。
Iframe雖然內(nèi)嵌在另一個HTML文件中,但它保持相對的獨立,是一個“獨立王國“喲,在單一HTML中的特性同樣適用于浮動幀中。
試想一下,通過Iframe標(biāo)記,我們可將那些不變的內(nèi)容以Iframe來表示,這樣,不必重復(fù)寫相同的內(nèi)容,這有點象程序設(shè)計中的過程或函數(shù),減省了多少繁瑣的手工勞動!另外,至關(guān)重要的是,它使頁面的修改更為可行,因為,不必因為版式的調(diào)整而修改每個頁面,你只需修改一個父窗體的版式即可了。
有一點要注意,Nestscape瀏覽器不支持Iframe標(biāo)記,但在時下IE的天下,這似乎也無大礙,廣泛采用Iframe標(biāo)記,既為自己(網(wǎng)站)著了想,又為網(wǎng)友節(jié)省了網(wǎng)費,何樂而不為?
例子
<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后 發(fā)現(xiàn)滾動條不漂亮 想用2個圖片來代替↑↓
應(yīng)該怎么實現(xiàn)呢?
回答:
用下列代碼替換網(wǎng)頁的
<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;">
文字
文字
文字
文字
文字
</DIV>
</TD>
<TD WIDTH="14" VALIGN="TOP"><IMG SRC="photo/up0605.gif" WIDTH="14" HEIGHT ="20" onmoucss" href="resources/css/frame.css">
<link rel="stylesheet" type="text/css" href="resources/css/global.css">
<script language="javascript">
function setBgColor()
{
var bg=document.bgColor
bottom.document.bgColor=bg
}
</script>
</head>
<body bgcolor="#f9edff" onload="setBgColor()">
<div styleClass="basewnd">
<!-- LOGO -->
<div align="center" class="flag">
<iframe src="resources/HTMLFolders/Logo.html" frameBorder="0" scrolling="no" width="950px" height="115px" marginheight="0"></iframe>
</div>
<!-- 用戶登陸 -->
<div align="center" class="user">
<iframe src="resources/HTMLFolders/UserLogin.html" frameBorder="0" scrolling="no" width="195px" height="150px" marginheight="0" marginwidth="0"></iframe>
</div>
<!-- 搜索 -->
<div id="search" name="test" align="center" class="top_list_home">
<iframe id="frameSearch" name="search" src="resources/HTMLFolders/Search.html" frameBorder="0" scrolling="no" width="195px" height="150px" marginheight="0" marginwidth="0"></iframe>
</div>
<!-- 導(dǎo)航條 -->
<div align="center" class="navigation">
<iframe src="resources/HTMLFolders/Navigation.html" frameBorder="0" scrolling="no" width="950px" height="25px" marginheight="0" marginwidth="0"></iframe>
</div>
<!-- 最新主題列表 -->
<div align="center" class="newest_topic">
<iframe src="resources/HTMLFolders/Sublist.html" frameBorder="0" scrolling="no" width="540px" height="427px" marginheight="0" marginwidth="0"></iframe>
</div>
<!-- 單位目錄樹 -->
<div align="center" class="welcome_tag_home">
<iframe src="resources/HTMLFolders/DirectoryTree.html" frameBorder="0" scrolling="no" width="195px" height="427px" marginheight="0" marginwidth="0"></iframe>
</div>
<!-- 頁尾 -->
<div align="center" class="rights_home">
<iframe id="bottom" name="bottom" src="resources/HTMLFolders/Bottom.html" frameBorder="0" scrolling="no" width="950px" height="100px" marginheight="0" marginwidth="0" allowTransparency="true" style="background-color: red"></iframe>
</div>
</div>
</body>
</html>
被引用的文件UserLogin.html:
<link rel="stylesheet" type="text/css" href="../css/global.css">
<table border="0" align="left" width="193" cellpadding="1" cellspacing="0" style="border-style:solid;border-width:1px;border-color:#eeeeee;">
<tr><td>
<table border="0" align="left" width="190" cellpadding="0" cellspacing="0">
<tr>
<td align="left" valign="middle" width="20" height="25" class="tdfnt12px" background="../images/title_bar2.png" >
</td>
<td align="left" valign="bottom" height="25" class="tdfnt12px" background="../images/title_bar2.png">
<font style="height:18px;font-family:宋體;font-size:14px;"> <b>會員登錄</b></font>
</td>
</tr>
</table>
</td></tr>
</table>
<div id="divLogin" style="visibility:visible;position:absolute;left:10px;top:30px">
<table border="0" align="left" width="193" cellpadding="1" cellspacing="0" style="border-style:solid;border-width:0px;border-color:#eeeeee;">
<tr>
<td align="left" valign="bottom" height="45"><font class="normal">用戶名:</font>
<td valign="bottom"><input type="text" name="userAreaUserName" id="userAreaUserName" class="id" maxlength="16"/></td>
</tr>
<tr>
<td align="left" height="40"><font class="normal">密碼:</font>
<td><input type="password" name="userAreaUserPwd" id="userAreaUserPwd" class="pwd" maxlength="16"/></td>
</tr>
<tr>
<td align="center" colspan="2" class="tdfnt12px">
<input type="submit" value="登錄" style="color:black;border-color:skyblue;border-style:solid;border-width:0px;vertical-align:middle;font-family:宋體;width:68px;height:24px;background:url(resources/images/ButtonBg02.png);"/>
</td>
</tr>
</table>
</div>
現(xiàn)在假設(shè)“最新主題列表”文件中有一個超鏈接,點擊其,包含“最新主題列表”的iframe就重新加載,此時需要利用javascript來實現(xiàn):
<a href="" onclick="redirect(); return false">www.baidu.com</a>
<script language="javascript">
function redirect()
{
parent.document.frames["frameSublist"].location.href="www.baidu.com"
}
</script>