日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于IFRAME的一些小应用

發布時間:2025/7/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于IFRAME的一些小应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Frame可以在網頁內嵌入另一個頁面,類似“畫中畫”形式。

標記的使用格式是:?
  <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="[url]http://www.IFrame.com/xyz[/url]"??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?οnclick="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"?οnmοuseοver="scroll(-1)"?οnmοuseοut="scroll(0)"?οnmοusedοwn="scroll(-3)"?BORDER="0"?ALT="按下鼠標速度會更快!"></TD>
</TR>
<TR>
<TD?WIDTH="14"?VALIGN="BOTTOM"><IMG?SRC="photo/down0605.gif"?οnmοuseοver="scroll(1)"?οnmοuseοut="scroll(0)"??οnmοusedοwn="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.οnlοad=dyniframesize
</script>

轉載于:https://blog.51cto.com/xionghui/32301

總結

以上是生活随笔為你收集整理的关于IFRAME的一些小应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。