JAVASCRIPT中的parent對象

來源:互聯網
上載者:User

該變更永遠指分割視窗最高層次的瀏覽器視窗。如果計劃從分割視窗的最高層次開始執行命令,就可以用top變數。

parent:

該變數指的是包含當前分割視窗的父視窗。如果在一個視窗內有分割視窗,而在其中一個分割視窗中又包含著分割視窗,則第2層的分割視窗可以用parent變數引用包含它的父分割視窗。

opener:

指用WINDOW.OPEN等方式建立的新視窗對應的原視窗。

 

附:Window對象、Parent對象、Frame對象、Document對象和Form對象的階層關係:Windwo對象→Parent對象→Frame對象→Document對象→Form對象,

如下:parent.frame1.document.forms[0].elements[0].value;

 

 

問題:在一個頁面嵌入架構<iframe>,然後在架構中使用jvascript指令碼:parent.xx.value='xxxxx'; 在IE中可以正常看到賦值,但是在firefox中則不能完成賦值。請問在firefox中調用父架構的對象應該是哪個,是否和IE相容?

解答:window.parent.document.form名.xx.value='xxxxx';   window可省略。

parent.document.form名.xx.value='xxxxx';   parent.document.getElementById("xx").value='xxxxx'; 

 

 

window.parent與window.opener的區別 javascript調用主視窗方法

1:   window.parent 是iframe頁面調用父頁面對象

舉例:      a.html

<html>

<head><title>父頁面</title></head>

<body>

<form name="form1" id="form1">

<input type="text" name="username" id="username"/>

</form>

<iframe src="b.html" width=100%></iframe>

</body>

</html>

如果我們需要在b.htm中要對a.htm中的username文字框賦值(就如很多上傳功能,上傳功能頁在Ifrmae中,上傳成功後把上傳後的路徑放入父頁面的文字框中),我們應該在b.html中寫:

<script type="text/javascript">

var _parentWin = window.parent ;

_parentWin.form1.username.value = "xxxx";

</script>

2:   window.opener 是window.open 開啟的子頁面調用父頁面對象

opener:對開啟當前視窗的window對象的引用,如果當前視窗被使用者開啟,則它的值為null。

self:自引用屬性,是對當前window對象的應用,與window屬性同義。

self代表自身視窗,opener代表開啟自身的那個視窗,比如視窗A開啟視窗B。如果靠window.open方法,則對於視窗B,self代表B自己,而opener代表視窗A。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/jamestaosh/archive/2009/06/20/4284960.aspx 如果我們需要在b.htm中要對a.htm中的username文字框賦值(就如很多上傳功能,上傳功能頁在Ifrmae中,上傳成功後把上傳後的路徑放入父頁面的文字框中),我們應該在b.html中寫:

2: window.opener 是window.open 開啟的子頁面調用父頁面對象 opener:對開啟當前視窗的window對象的引用,如果當前視窗被使用者開啟,則它的值為null。 self:自引用屬性,是對當前window對象的應用,與window屬性同義。 self代表自身視窗,opener代表開啟自身的那個視窗,比如視窗A開啟視窗B。如果靠window.open方法,則對於視窗B,self代表B自己,而opener代表視窗A。 本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/jamestaosh/archive/2009/06/20/4284960.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.