DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 實用框架(iframe)操作代碼
實用框架(iframe)操作代碼
編輯:關於JavaScript     

常用代碼:

<iframe src="http://www.baidu.com" marginwidth="0" marginheight="0" border="0"
	scrolling="no" frameborder="0"
	width="350" height="270"></iframe>

<iframe src="http://www.jb51.net/plugins/like.php?href=YOUR_URL"
    scrolling="no" frameborder="0"
    style="border:none; width:450px; height:80px"></iframe>

javascript訪問frame,iframe框架和href的定向

一.frame

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
}

復制代碼 代碼如下:
if (window.top!=window.self) {
    // dosomething
}

改變框架的載入頁面

對框架的引用就是對window對象的引用,利用window對象的location屬性,可以改變框架的導航,例如:

window.frames[0].location = "1.html";

引用其他框架內的JavaScript變量和函數

在介紹引用其他框架內JavaScript變量和函數的技術之前,先來看以下代碼:

<script language=”JavaScript” type=”text/javascript”>
<!–
function hello(){
  alert(“hello,ajax!”);
}
window.hello();
//–>
</script>

二.iframe

嚴格上應該是使用frames數組,和 document.all。

復制代碼 代碼如下:
<iframe id=myiframe src=”about:<input type=checkbox name=mycheckbox value=mycheckbox>”></iframe>
<input type=button onclick=”alert(document.frames.myiframe.document.all.mycheckbox.checked)”>

三.href

1.鏈接的 onclick 事件被先執行,其次是 href 屬性下的動作(頁面跳轉,或 javascript 偽鏈接);
2.假設鏈接中同時存 在 href 與 onclick,如果想 讓 href 屬性下的動作不執行,onclick 必須得到一個 false 的返回值。不信,你可以將 goGoogle 函數中的 return false 注釋掉;
3.如果頁面過長有滾動條,且希望通過鏈接的 onclick 事件執行操作。應將它的 href 屬性設為 javascript:void(0);,而不要 是 #,這可以防止不必要的頁面跳動;
4.如果在鏈接的 href 屬性中調用一個有返回值的函數,當前頁面的內容將被此函數的返回值代替;
5.在按住Shift鍵的情況下會有所區別。
6.今天我遇到的問題,在IE6.0裡以href的形式訪問不到parentNode。
7.盡量不要用javascript:協議做為A的href屬性,這樣不僅會導致不必要的觸發window.onbeforeunload事件,在IE裡面更會使gif動畫圖片停止播放。

如:

<a href=”javascript:void(0)” onclick=”linkChangePwd()”>更改密碼</a>

調整框架的高度

復制代碼 代碼如下:
window.onload = function() {
 parent.document.getElementById('customiframe').style.height = document.body.clientHeight + "px";
}

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved