根據iframe獲取window


  今天使用layui彈出窗口,需要將函數寫在彈出的窗口,但是按鈕事件是在父層窗口綁定的,這樣就要在父層窗口調用子層窗口的函數。

子層函數與父層函數

1 function topup() { 2     console.log("topup"); 3 }
1 yes: function(index, layero){ 2     var iframe = layero.find('iframe')[0]; 3     var iframeWin = iframe.contentWindow; 4  iframeWin.topup(); 5 }

iframe和iframe的關系

  首先需要說明的是,w3c已經不推薦使用frame,而推薦使用iframe,iframe也就是inline frame(行內frame),顧名思義它具有css的行內框特性,正是因為這一特性才引出來iframe 高度100%時,出現垂直滾動條

通過window獲取iframe

  window.frames是個偽數組,可以通過window.frames[index]或window.frames[name]來獲取iframe 
  window.frames[index],索引是從左往右,從上往下的,從0開始,通常我們使用window.frames[name]來獲取frame

通過iframe獲取window、document

  如果想獲取iframe里的window或者document,可以使用 
  iframe.contentWindow、iframe.contentDocument 
  iframe.contentDocument=iframe.contentWindow.document,不過iframe.contentDocument在IE8及以下的版本不支持。

window獲取頂級窗口、父窗口

  獲取頂級窗口:window.top 
  獲取父級窗口:window.parent 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM