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

首頁 > 編程 > JavaScript > 正文

javascript iframe編程相關代碼

2019-11-21 00:51:40
字體:
來源:轉載
供稿:網友
最近在處理幾個項目中都用到了iframe,有時一個頁面中有多個iframe,而且幾個iframe需要相互訪問彼此的函數或者父窗口的函數。今天有空就將頁面框架編程做個整理。
一個頁面中的所有框架以集合的形式作為window對象的屬性提供,例如:window.frames就表示該頁面內所有框架的集合,這和表單對象、鏈接對象、圖片對象等是類似的,不同的是,這些集合是document的屬性。因此,要引用一個子框架,可以使用如下語法:
復制代碼 代碼如下:

window.frames["frameName"];
window.frames.frameName
window.frames[index]

其中,window字樣也可以用self代替或省略,假設frameName為頁面中第一個框架,則以下的寫法是等價的:
復制代碼 代碼如下:

self.frames["frameName"]
self.frames[0]
frames[0]

frameName
每個框架都對應一個HTML頁面,所以這個框架也是一個獨立的瀏覽器窗口,它具有窗口的所有性質,所謂對框架的引用也就是對window對象的引用。有了這個window對象,就可以很方便地對其中的頁面進行操作,例如使用window.document對象向頁面寫入數據、使用window.location屬性來改變框架內的頁面等。

下面分別介紹不同層次框架間的互相引用:
1.父框架到子框架的引用
知道了上述原理,從父框架引用子框架變的非常容易,即:
window.frames["frameName"];
這樣就引用了頁面內名為frameName的子框架。如果要引用子框架內的子框架,根據引用的框架實際就是window對象的性質,可以這樣實現:
window.frames["frameName"].frames["frameName2"];
這樣就引用到了二級子框架,以此類推,可以實現多層框架的引用。
2.子框架到父框架的引用
每個window對象都有一個parent屬性,表示它的父框架。如果該框架已經是頂層框架,則window.parent還表示該框架本身。
3.兄弟框架間的引用
如果兩個框架同為一個框架的子框架,它們稱為兄弟框架,可以通過父框架來實現互相引用,例如一個頁面包括2個子框架:
復制代碼 代碼如下:

<frameset rows="50%,50%">
<frame src="1.html" name="frame1" />
<frame src="2.html" name="frame2" />
</frameset>

在frame1中可以使用如下語句來引用frame2:
self.parent.frames["frame2"];
4.不同層次框架間的互相引用
框架的層次是針對頂層框架而言的。當層次不同時,只要知道自己所在的層次以及另一個框架所在的層次和名字,利用框架引用的window對象性質,可以很容易地實現互相訪問,例如:
self.parent.frames["childName"].frames["targetFrameName"];
5.對頂層框架的引用
和parent屬性類似,window對象還有一個top屬性。它表示對頂層框架的引用,這可以用來判斷一個框架自身是否為頂層框架,例如:
復制代碼 代碼如下:

//判斷本框架是否為頂層框架
if(self==top){
//dosomething
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凭祥市| 家居| 色达县| 辰溪县| 泽普县| 吕梁市| 平山县| 禄丰县| 汽车| 威远县| 丹棱县| 清涧县| 若尔盖县| 遂昌县| 大同县| 光泽县| 阳东县| 罗山县| 玛沁县| 南昌市| 双城市| 武川县| 三明市| 合川市| 东宁县| 什邡市| 云霄县| 林西县| 昭觉县| 乐山市| 静乐县| 邢台市| 莱西市| 广东省| 年辖:市辖区| 石景山区| 安化县| 荣成市| 齐齐哈尔市| 贵港市| 文水县|