一.frame
1.父框架到子框架的引用 知道了上述原理,從父框架引用子框架變的非常容易,即:
這樣就引用了頁面內名為frameName的子框架。如果要引用子框架內的子框架,根據引用的框架實際就是window對象的性質,可以這樣實現:
這樣就引用到了二級子框架,以此類推,可以實現多層框架的引用。 2.子框架到父框架的引用 每個window對象都有一個parent屬性,表示它的父框架。如果該框架已經是頂層框架,則window.parent還表示該框架本身。 3.兄弟框架間的引用 如果兩個框架同為一個框架的子框架,它們稱為兄弟框架,可以通過父框架來實現互相引用,例如一個頁面包括2個子框架:
在frame1中可以使用如下語句來引用frame2:
4.不同層次框架間的互相引用 框架的層次是針對頂層框架而言的。當層次不同時,只要知道自己所在的層次以及另一個框架所在的層次和名字,利用框架引用的window對象性質,可以很容易地實現互相訪問,例如:
5.對頂層框架的引用 和parent屬性類似,window對象還有一個top屬性。它表示對頂層框架的引用,這可以用來判斷一個框架自身是否為頂層框架,例如:
改變框架的載入頁面 對框架的引用就是對window對象的引用,利用window對象的location屬性,可以改變框架的導航,例如:
引用其他框架內的JavaScript變量和函數 在介紹引用其他框架內JavaScript變量和函數的技術之前,先來看以下代碼:
二.iframe
嚴格上應該是使用frames數組,和.document.all.
三.href
- 鏈接的
onclick
事件被先執行,其次是href
屬性下的動作(頁面跳轉,或 javascript 偽鏈接); - 假設鏈接中同時存在
href
與onclick
,如果想讓href
屬性下的動作不執行,onclick
必須得到一個false
的返回值。不信,你可以將goGoogle
函數中的return false
注釋掉; - 如果頁面過長有滾動條,且希望通過鏈接的
onclick
事件執行操作。應將它的href
屬性設為javascript:void(0);
,而不要是#
,這可以防止不必要的頁面跳動; - 如果在鏈接的
href
屬性中調用一個有返回值的函數,當前頁面的內容將被此函數的返回值代替; - 在按住Shift鍵的情況下會有所區別。
- 今天我遇到的問題,在IE6.0里以href的形式訪問不到parentNode。
- 盡量不要用javascript:協議做為A的href屬性,這樣不僅會導致不必要的觸發window.onbeforeunload事件,在IE里面更會使gif動畫圖片停止播放。
如: