JS擷取並操作iframe中元素的方法

來源:互聯網
上載者:User

一、需求與遇到的問題

  在網站的後台管理中使用了iframe架構布局,包括頂部菜單、左側導航和首頁面。需求是:點擊首頁面上的一個按鈕,在頂部功能表列的右側顯示“退出”連結,點擊可退出系統。

  我的思路是:在頂部的菜單頁面放一個不可見的“退出”連結,當使用者點擊位於iframe中的首頁面(mainPage.htm)中的按鈕時,在頂部菜單頁面的右側顯示“退出”。

  我現在遇到的問題是:如何在頁面的一個iframe子頁面(mainPage.htm)中擷取並且操作其它iframe子頁面(比如topPage.htm)中的HTML元素?

二、通過JS擷取並操作iframe中的元素來解決問題

  這裡主要就是通過JS來操作Window對象。Window 對象表示瀏覽器中開啟的視窗,如果文檔包含架構(frame 或 iframe 標籤),瀏覽器會為 HTML 文檔建立一個 window 對象,並為每個架構建立一個額外的 window 對象。

  經過我在網上查資料,找到了JS操作iframe中HTML元素的方法。樣本如下。
複製代碼 代碼如下:
         function ShowExit() {
             //擷取iframe的window對象
             var topWin = window.top.document.getElementById("topNav").contentWindow;
             //通過擷取到的window對象操作HTML元素,這和普通頁面一樣
             topWin.document.getElementById("exit").style.visibility = "visible";
         }  說明:第一步,通過window.top.document.getElementById("topNav")方法擷取了頂部菜單頁面(topPage.htm)所在的iframe對象;第二步,通過上一步擷取到的iframe對象的contentWindow屬性得到了iframe中元素所在的window對象;第三步,通過上一步擷取到的window對象來操作iframe架構中的元素,這和操作不在iframe架構中的普通HTML元素是一樣的。

聯繫我們

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