国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

網頁制作基礎技巧 框架(幀窗口)間的交互

2024-08-26 00:21:42
字體:
來源:轉載
供稿:網友
在多窗口的分幀頁面中,各分窗口之間的信息交互是經常的事。在導航窗口中點了超級鏈接,那么如何在另一窗口中打開鏈接的網頁呢?我在這個窗口中按下按鈕,能在另一個窗口中寫信息嗎?窗口那么多,又如何識別窗口呢?請看下面的例子。

  一、在導航窗口點擊鏈接,在另一窗口打開網頁

  現有一分幀頁面如上圖所示的,A窗口是網站logo及廣告,B窗口是導航欄,C是顯示頁面的窗口。該分幀頁面的源代碼為:

<frameset rows="20%,*"> 
<frame name="topFrame" scrolling="NO" noresize src="toppage.htm" >
<frameset cols="18%,*"> 
<frame name="leftFrame" noresize src="leftpage.htm">
<frame name="mainFrame" src="mainpage.htm">
</frameset>
</frameset>
 

  若要求在B窗口中的鏈接頁面(test.htm)在C窗口中打開,那么B窗口中的鏈接應這樣寫:<a herf="test.htm" target="mailFrame">此鏈接的頁面在C窗口中打開</a>,在這里起關鍵作用的是<A>標記中的target參數,你想在那個窗口中打開網頁,就在Target參數中設置那個窗口的名稱。

  二、在B窗口中按下一個按鈕,在C窗口中寫一行字

  本例的頁面格式與上例相同,完成后的效果是這樣的:按下B窗口中“在C窗口寫字”的按鈕后,在C窗口中就出現一行文字“嗨!你好!這是通過B窗口控制而寫的字。”。分幀頁面的代碼及每個窗口中的網頁文件與上例相同。

  制作方法:

  1、 在C窗口網頁(mainpage.htm)的源代碼<head>與</head>之間插入下面這段Javascript程序:

<script language="Javascript">
<!--
function htest(){
document.write("嗨!你好!這是通過B窗口控制而寫的字。") 
}
-->
</script>

  這段程序的作用是在當前窗口寫上一段文字。

  2、那么如何在B窗口中調用C窗口中的程序呢?先看B窗口中“在C窗口中寫字”這個按鈕的源代碼:

<input type="button" value="在C窗口中寫字" onclick="parent.mainFrame.htest()">

  在這段代碼中,關鍵是代碼“parent.mainFrame”,這里引入一個新的概念―窗口結構關系,也就是在多窗口頁面中,各窗口之間的關系是以什么原則來確定的。窗口關系的確定原則是:當前窗口分割出來的窗口為當前窗口的“子窗口”(children),那么當前窗口就是分割出來窗口的“父窗口”(parent)。如本例中各窗口的關系如下:

  從上表可得知,“瀏覽器窗口”是“topFrame”和“下部窗口”的“父窗口”,而下部窗口又是“leftFrame”和“mainFrame”兩個窗口的“父窗口”。兩個窗口之間的聯系必須通過它們的父窗口才能進行,所以本例中要調用C窗口中網頁上的“htest()”很顯然是通過C與B的parent再到mainFrame,然后調用htest()程序。

  那么若C窗口中向B窗口中寫字的代碼就是這樣的了: onclick="parent.leftFrame.htest()";那么,在A窗口中要向C窗口中寫一段文字的代碼你知道怎樣寫嗎?對了,就是這樣:onclick="grandchildren.mainFrame.htest()"。

  從上面的例子中可看出,在各窗口之間進行交互信息,關鍵的問題是要搞清楚窗口與窗口之間的關系,其它的操作就比較簡單了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三明市| 普安县| 浏阳市| 深水埗区| 大悟县| 铁力市| 内丘县| 五常市| 历史| 稻城县| 江门市| 黎城县| 禄丰县| 中超| 青海省| 乌海市| 昔阳县| 景宁| 宜昌市| 禄丰县| 贵溪市| 凤翔县| 郴州市| 新郑市| 定兴县| 乌鲁木齐县| 兰溪市| 嘉兴市| 遂平县| 嘉定区| 临湘市| 定边县| 灵丘县| 定远县| 长垣县| 嘉善县| 宾阳县| 肃宁县| 荔浦县| 剑阁县| 灵寿县|