幀視窗之間的互動技巧

來源:互聯網
上載者:User
技巧|互動 在多視窗的分幀頁面中,各分視窗之間的資訊互動是經常的事。在導航視窗中點了超級連結,那麼如何在另一視窗中開啟連結的網頁呢?我在這個視窗中按下按鈕,能在另一個視窗中寫資訊嗎?視窗那麼多,又如何識別視窗呢?請看下面的例子。

  一、在導航視窗點選連結,在另一視窗開啟網頁


  現有一分幀頁面如上圖所示的,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參數中設定那個視窗的名稱。關於該參數的其它用法請看《用好超級連結標記—A》一文。
  二、在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視窗中寫字" >
  在這段代碼中,關鍵是代碼“parent.mainFrame”,這裡引入一個新的概念—視窗結構關係,也就是在多視窗頁面中,各視窗之間的關係是以什麼原則來確定的。視窗關係的確定原則是:當前視窗分割出來的視窗為當前視窗的“子視窗”(children),那麼當前視窗就是分割出來視窗的“父視窗”(parent)。如本例中各視窗的關係如下:


  從上表可得知,“瀏覽器視窗”是“topFrame”和“下部視窗”的“父視窗”,而下部視窗又是“leftFrame”和“mainFrame”兩個視窗的“父視窗”。兩個視窗之間的聯絡必須通過它們的父視窗才能進行,所以本例中要調用C視窗中網頁上的“htest()”很顯然是通過C與B的parent再到mainFrame,然後調用htest()程式。
  那麼若C視窗中向B視窗中寫字的代碼就是這樣的了: ;那麼,在A視窗中要向C視窗中寫一段文字的代碼你知道怎樣寫嗎?對了,就是這樣:。
  從上面的例子中可看出,在各視窗之間進行互動資訊,關鍵的問題是要搞清楚視窗與視窗之間的關係,其它的操作就比較簡單了。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.