1. 程式人生 > >js中window.opener和window.parent的用法

js中window.opener和window.parent的用法

在最近開發的web專案中,經常用到頁面中巢狀很多的頁面,頁面間的傳值。
現在總結如下:
1.window.self就表示當前開啟的視窗
2.window.top就表示最頂層的視窗(假如說你在一個窗口裡面有嵌套了其他一些視窗,那麼top就表示這個最頂層的視窗)
3.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=\'#\'" width=100%></iframe>
  </body>
  </html>
  需求:如果我們要在b.html中要對a.html中username文字框賦值,
  就如很多上傳功能,上傳功能也在Iframe中,上傳成功後把上傳後
  的路徑放到父頁面中文字框中去。
  
  那我們就應該在b.html中寫;
  <script type="text/javaScript>
  var _parentWin=window.parent;
  _parentWin.form1.username.value="xxxx";
  </script>

4.window.opener----是window.open開啟的子頁面物件呼叫父頁面物件
   self代表自身視窗,是對當前window物件的引用,與window屬性同義
   opener:代表開啟自身的那個視窗,比如視窗A開啟視窗B,如果靠window.open方法,
   則對於視窗B,self代表B自己,而opener視窗代表A

Parent物件、Frame物件、Document物件和Form物件的階層關係-----id
Window物件→Parent物件→Frame物件→Document物件→Form物件,如下:
parent.frame1.document.forms[0].elements[0].value;