首頁 >web前端 >js教程 >實用框架(iframe)操作程式碼_javascript技巧

實用框架(iframe)操作程式碼_javascript技巧

WBOY
WBOY原創
2016-05-16 16:33:001321瀏覽

常用程式碼:

<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&#63;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。

複製程式碼 程式碼如下:



三.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動畫圖片停止播放。

如:

更改密碼

調整框架的高度

複製程式碼 程式碼如下:

window.onload = function() {
 parent.document.getElementById('customiframe').style.height = document.body.clientHeight "px";
}
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn