萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> jsp編程 >> iframe中訪問easyui的jsp頁面時腳本的正確寫法

iframe中訪問easyui的jsp頁面時腳本的正確寫法

   很多初學Easyui的人都會遇到這樣的問題,那就是在頁面中采用iframe標簽後,當直接指定src頁面是一個采用了easyui組件的頁面,當parent窗口需要訪問iframe中的對象時,不應該采用document的訪問,而應該訪問iframe的對象,這樣才能用easyui中的標准api訪問對象的屬性和方法,具體訪問方法如下兩種:

  1、document.getElementById('ss_frame').contentWindow.$('#dgMANUF').datagrid('getSelected');

  2、$.find('iframe')[0].contentWindow.$('#dgMANUF').datagrid('getSelected');

  請不要使用$('#ss_frame').contentWindow.$('#dgMANUF').datagrid('getSelected');這樣的代碼,因為在JQuery中無法正確返回對象,系統會提示“無法獲取屬性“nodeName”的值: 對象為 null 或未定義 Error”之類的錯誤。

  訪問對象的問題解決以後就會帶來另外一個問題,iframe的刷新問題,因為可能大家會采用動態頁面,我們看到很多解決方案說只要將對象的src修改就可以正確顯示,但是我們發現系統會有一個延遲,而這對於腳本客戶端會有致命的錯誤。解決的方法其實很簡單,那就是直接讓iframe的對象輸出一個提示,直到頁面加載完畢。具體解決代碼如下:

  document.getElementById('ss_frame').contentWindow.document.write('loading...');

copyright © 萬盛學電腦網 all rights reserved