父頁面擷取子頁面的內容,頁面擷取內容

來源:互聯網
上載者:User

父頁面擷取子頁面的內容,頁面擷取內容

需求說明:兩個JSP頁面,父頁面需要子頁面的內容,但子頁面是隱藏的,具體來說,子頁面是一系列的模板,父頁面要通過id來擷取這些模板,不願意通過<include>方式匯入,因為如果模板過多,就導致整個父頁面太大,載入緩慢,以下兩個方案,不知有沒有解決這個問題.

1,通過ajax方式

實現過程:通過ajax請求到子頁面中,子頁面擷取參數id使用java和js變數的互動後,返回需要的模板資訊

缺點:把js變數轉換成java變數比較麻煩,需要使用form表單來提交,而且jsp中的java指令碼是在伺服器端啟動並執行,需要伺服器端資源開銷,而且增加了互動次數

2,通過iframe 引入

實現過程:使用iframe引入子頁面,然後通過$(iframe.contents().find("#"+id)[0]).val()獲得需要的模板.

缺點:不確定iframe是不是可以消極式載入,如果也想<include>一樣把整個頁面都匯入進來,這個方法也不算ok.

歡迎讀者網友提出自己的見解和方法,以期改進.


java 父頁面獲得子頁面iframe的方法

樓主會用jquery嗎,可以使用jquery來從父頁面擷取子頁面的iframe中的對象資料,也可以從子頁面擷取父頁面的頁面資料,參見如下說明:

父頁面訪問子頁面內容:
var $iframe = $($('#iframe_editImage')[0].contentWindow.document.body);$iframe.find("#uploadImgfile").val();
子頁面訪問父頁面內容:
alert($('body', parent.document).html());
 
jquery 在父頁面中怎擷取子頁面中的對象

兩點
1.既然你用jQuery了,為什麼還要用getElementById()來擷取元素?況且,擷取iframe中元素也沒這麼麻煩啊
$("#id_iframe").contents().find("#id_button_test");這不就好了。。
2.你這部分代碼是寫在a.jsp頁面中了吧?那我估計之所以不運行,是因為你註冊點擊事件的時候,b.jsp頁面還沒有載入完。所以儘管你調試的時候能輸出,但是代碼裡是註冊不上的。把這段代碼寫在b.jsp的window.onload事件中

 

聯繫我們

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