註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
JavaScript
» (教學第17篇)框架控制 下篇
返回列表
下一主題
上一主題
發帖
[教學]
(教學第17篇)框架控制 下篇
小誌
發短消息
加為好友
小誌
(小誌)
當前離線
曾經也是水電工
UID
9
帖子
1206
主題
396
精華
113
積分
1747
金錢
1747
點名
1
作業系統
Vista
軟體版本
Office 2003
閱讀權限
200
性別
男
來自
台灣
在線時間
494 小時
註冊時間
2010-5-1
最後登錄
2026-9-24
暱稱:
小誌
頭銜:
曾經也是水電工
管理員
帖子
1206
主題
396
精華
113
積分
1747
點名
1
作業系統
Vista
軟體版本
Office 2003
閱讀權限
200
性別
男
來自
台灣
註冊時間
2010-5-1
最後登錄
2026-9-24
1
#
跳轉到
»
正序看帖
打印
字體大小:
t
T
發表於 2010-5-18 18:20
|
只看該作者
[教學]
(教學第17篇)框架控制 下篇
同時切換框架視窗
在我們前一小節的介紹中,你可能會認為以超鏈結標籤的以『TARGET』屬性來控制框架會比使用JavaScript來得簡單多了,那是因為我們一次只改變一個框架視窗內容,如果我們要同時改變兩個或兩個以上的框架視窗內容,那恐怕就只有JavaScript做得到了!
實作學習:
假設我們將瀏覽器視窗分割成四個框架視窗,這四個框架視窗名稱分別是「controlwindow」、「topwindow」、「centwindow」、「buttomwindow」,而載入的網頁依序是「6-10-1.htm」、「6-10-2.htm」、「6-10-3.htm」、「6-10-4.htm」:
下載
(28.11 KB)
2010-5-18 18:19
6-10.htm(分割框架視窗)
<HTML>
<HEAD>
<TITLE>同時切換框架視窗</TITLE>
</HEAD>
<FRAMESET cols="20%,*">
<FRAME NAME="controlwindow" SRC="6-10-1.htm">
<FRAMESET rows="33%,33%,*">
<FRAME NAME="topwindow" SRC="6-10-2.htm">
<FRAME NAME="centwindow" SRC="6-10-3.htm">
<FRAME NAME="buttomwindow" SRC="6-10-4.htm">
</FRAMESET>
</HTML>
複製代碼
在6-10-1.htm網頁文件中,我們撰寫了一個可以同時改變三個頁框的函式changepage(),當呼叫此函式並傳遞適當的URL時,就會同時改變「topwindow」、「centwindow」、「buttomwindow」框架視窗的位址。
function changepage(topweb,centweb,buttomweb)
{
parent.topwindow.location=topweb
parent.centwindow.location=centweb
parent.buttomwindow.location=buttomweb
}
複製代碼
同時,利用JavaScript虛擬協定來執行changepage()函式,使「topwindow」框架視窗的位址轉移到「
http://www.twbts.com
」、「centwindow」框架視窗的位址轉移到「
http://dgr.twbts.com
」、「buttomwindow」框架視窗的位址轉移到「
http://office.twbts.com
」。
6-10-1.htm
<HTML>
<HEAD>
<TITLE>家族網站</TITLE>
</HEAD>
<script language="JavaScript">
//轉址函式
function changepage(topweb,centweb,buttomweb)
{
//改變topwindow框架視窗內容
parent.topwindow.location=topweb
//改變centwindow框架視窗內容
parent.centwindow.location=centweb
//改變buttomwindow框架視窗內容
parent.buttomwindow.location=buttomweb
}
</script>
<body bgcolor="#FFFFCC">
<p><a href="javascript:changepage
('http://www.twbts.com','http://dgr.twbts.com',
'http://office.twbts.com')">一次參觀三個網站</a></p>
</body>
</HTML>
複製代碼
下載
(109.49 KB)
2010-5-18 18:19
樓主熱帖
論壇不讓資歷比較淺的人下載查看附件的用意
EXCEL專屬討論區自即日起限中學生以上會員方
麻辣家族討論區 通用版規
OFFICE 基礎教學數位化
ATX 電源供應器手動啟動(不接主機板啟動)
考慮關閉論壇網站
麻辣家族討論區隱私權政策說明
麻辣家族討論區 誠徵版主
由舊論壇轉進的中學生等級以上會員,請關注!
[討論園地開設] 電腦腦程式設計教室
收藏
分享
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
小誌
發短消息
加為好友
小誌
(小誌)
當前離線
曾經也是水電工
UID
9
帖子
1206
主題
396
精華
113
積分
1747
金錢
1747
點名
1
作業系統
Vista
軟體版本
Office 2003
閱讀權限
200
性別
男
來自
台灣
在線時間
494 小時
註冊時間
2010-5-1
最後登錄
2026-9-24
暱稱:
小誌
頭銜:
曾經也是水電工
管理員
帖子
1206
主題
396
精華
113
積分
1747
點名
1
作業系統
Vista
軟體版本
Office 2003
閱讀權限
200
性別
男
來自
台灣
註冊時間
2010-5-1
最後登錄
2026-9-24
3
#
發表於 2010-5-18 18:26
|
只看該作者
遠端遙控框架
在上一篇教學裡,我們談到了遠端遙控視窗是如何的控制主頁面視窗,但是,這個主頁面視窗是一個沒有框架的瀏覽器視窗,若這個主頁面視窗是一個有框架的瀏覽器視窗,而且我們要遠端遙控的只是主頁面視窗內的某一框架視窗時該如何處理?
實作學習:
假設我們在框架網頁6-12.htm中將瀏覽器視窗分割成兩個框架視窗,這兩個框架視窗名稱分別是「topwindow」、「buttomwindow」,而載入的網頁依序是「a.htm」、「b.htm」;在框架網頁載入時,同時建立遠端遙控視窗6-12-1.htm:
這個利用window物件open()方法建立出來的遠端遙控視窗就將他命名為「control」。
下載
(27.57 KB)
2010-5-18 18:24
6-12.htm(分割框架視窗與建立遙控視窗)
<HTML>
<HEAD>
<TITLE>小誌的網站家族</TITLE>
</HEAD>
<script language="JavaScript">
//建立遙控視窗
window.open("6-12-1.htm","control","width=100,height=150")
</script>
<FRAMESET ROWS="40%,*">
<FRAME NAME="topwindow" SRC="a.htm">
<FRAME NAME="buttomwindow" SRC="b.htm">
</FRAMESET>
</HTML>
複製代碼
在遠端遙控的網頁文件6-12-1.htm中,我們撰寫了一個可以同時改變框架視窗內容的函式changepage(),當呼叫此函式並傳遞適當的URL時,就會同時改變「、「buttomwindow」框架視窗的位址。
<script language="JavaScript">
function changepage(webaddress)
{
//改變buttomwindow框架視窗內容
opener.buttomwindow.location.href=webaddress
}
</script>
複製代碼
因為我們在在框架網頁(6-12.htm)載入時,同時建立遠端遙控視窗「control(6-12-1.htm)」,所以「control(6-12-1.htm)」的『opener(建立/開啟者)』就是框架網頁(6-12.htm),changepage()函式的原理很簡單:因為「control」是由框架網頁(6-12.htm)所建立,而「buttomwindow」框架視窗也是由框架網頁(6-12.htm)所建立,因此兩者的等級相同,不能互相控制,所以我們可以透過「control」向上追溯到他的parent也就是框架網頁,再由框架網頁向下去控制「buttomwindow」框架視窗。
6-12-1.htm(遙控視窗)
<HTML>
<HEAD>
<TITLE>家族網站</TITLE>
</HEAD>
<script language="JavaScript">
//轉址函式
function changepage(webaddress)
{
//改變buttomwindow框架視窗內容
opener.buttomwindow.location =webaddress
}
</script>
<body bgcolor="#FFFFCC">
<p><a href="javascript:changepage('http://www.twbts.com')">麻辣學園</a></p>
<p><a href="javascript:changepage('http://dgr.twbts.com')">築夢學園</a></p>
<p><a href="javascript:changepage('http://office.twbts.com')">office學園</a></p>
</body>
</HTML>
複製代碼
遠端遙控視窗「control(6-12-1.htm)」內,我們建立了三個超鏈結,這三個超鏈結都利用JavaScript虛擬協定來執行changepage()函式,使「buttomwindow」框架視窗的位址轉移到「
http://office.twbts.com
」、「
http://www.twbts.com
」或是「
http://office.twbts.com
」。
下載
(48.21 KB)
2010-5-18 18:25
下載
(39.73 KB)
2010-5-18 18:25
下載
(38.86 KB)
2010-5-18 18:26
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
TOP
小誌
發短消息
加為好友
小誌
(小誌)
當前離線
曾經也是水電工
UID
9
帖子
1206
主題
396
精華
113
積分
1747
金錢
1747
點名
1
作業系統
Vista
軟體版本
Office 2003
閱讀權限
200
性別
男
來自
台灣
在線時間
494 小時
註冊時間
2010-5-1
最後登錄
2026-9-24
暱稱:
小誌
頭銜:
曾經也是水電工
管理員
帖子
1206
主題
396
精華
113
積分
1747
點名
1
作業系統
Vista
軟體版本
Office 2003
閱讀權限
200
性別
男
來自
台灣
註冊時間
2010-5-1
最後登錄
2026-9-24
2
#
發表於 2010-5-18 18:21
|
只看該作者
跳脫框架
我想很多網主(網站主持人)都不希望自己辛苦製作的網頁文件被人盜用,如果有一個使用了框架技術的網站連結你的網站(網頁文件),同時將你的網站(網頁文件)顯示在他網站的一個框架視窗內,而成為他自己的網站內容,這樣的情況似乎是你所不願見到的,如下圖,小誌的麻辣學園網站被框在框架中:
現在你只要在框架網頁(放置分割框架視窗的網頁文件,就是含有<FRAME>框架標籤的那個網頁啦!),放置下列這段JavaScript程式敘述,就可以使你的網站(網頁文件)跳脫他人網站的框架。(如果你的網站並沒有採用框架技術也可以使用)
<SCRIPT language=JavaScript>
if (parent.location != window.location)
{
parent.location = window.location
}
</SCRIPT>
複製代碼
上面這段程式碼,主要是在確認你的網頁文件或框架網頁是不是由你自己網站中的網頁連結,如果不是,則它將會把你的網頁文件或框架網頁,提升等級到瀏覽器視窗的最上層。也就是說,當有個含有框架的網站要來連結你的網頁文件或框架網頁時,這段程式碼將會把它的框架結構破壞,而以你的網頁文件或框架網頁頂替!
心安,平安
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
TOP
靜思自在 :
並非有錢魷是快樂,問心無愧心最安。
返回列表
下一主題
上一主題
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲