關於js擷取最上層window對象的架構思路

來源:互聯網
上載者:User

1) 設計一最外層頁面 a.jsp 包含a.js

     a.js擷取最上導頁面window的方法為window.top;

    優點在於如果a.jsp裡ifram N層頁面,第N層頁面想擷取頂層頁面只需要調用 a.jsp的window.top即可獲得,不用 parent.parent.parent.......

2)第二種方法是如下:

在a.jsp中定義一<div id='myFlag'></div>

a.js 中定義如下函數

 function getWindow(){
 var obj=window.self;
  while(true)
  {
   if(obj.document.getElementById("myFlag"))
   {
   return obj;
   }
   obj=obj.window.parent;
  }
}

 第一種方法是使用了window.top,

 第二種方法實際是使用了parent.parent..的方法去擷取上上上...級標示後返回對象。

兩種方法看似第一種省力方便,但當兩個頁面融合情境發生時,也就是b.jsp iframe a.jsp的情況出現時,a.js的 window.top 無效,只能採用第二種方式。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.