日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Extjs4开发中的一些问题

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Extjs4开发中的一些问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. ?子frame刷新的問題

  一般在jsp里面,要實現界面跳轉,有很多方法,最典型的就是window.location.href="href",但是在嵌套有iframe框架的頁面布局,使用上述語句,只會使iframe本身實現跳轉,如果遇到session超時,而進入登錄界面的時候,也會使登錄界面顯示在iframe內部,目前沒有找到好的方法在超時之后根據請求結果判斷是否是登錄界面。

  所以,目前實現比較妥當的方法是,在請求子frame內容之前,先向服務器查詢是否超時,這個用Ext.request就可以實現了,這里就不說了,然后根據返回結果,判斷是要在父頁面顯示登錄界面,還是在子frame中顯示jsp頁面。

  父頁面顯示登錄界面代碼:

parent.window.href="login.jsp" //父頁面顯示,或者如果層級結構比較多,也可以使用下面語句 top.window.href="login.jsp" //頂頁面

子frame跳轉,就用之前的那句window.location.href="href",就可以了。

2. ? 父頁面調用子frame中jsp內的方法

  當時遇到的問題是這樣子的,子frame是作為父頁面的tab頁顯示出來的,父,子頁面分別為兩個jsp文件,兩個文件之間沒有什么別的關系,唯一的聯系,就是子頁面是父頁面的一個tab頁,當激活某個tab頁的時候,需要子frame的某個控件獲取焦點。

  但是由于父頁面有多個子tab,也就是每個子frame都有若干個兄弟的frame,因此,直接從父頁面中獲取控件是不明智的,因此就需要實現類似抽象方法的邏輯,網上找了好多基本都是粘貼復制的,主要代碼是在父頁面中使用:

  

window.frames["frame_name"].functionName();

但是我不管怎么嘗試都不成功,后來通過調試工具,使用下面這句,就可以了:

window.frames["frameName"].frames.functionName();

中間還遇到一點需要注意,

因為我是子frame首次呈現出來的時候,就需要調用這個方法,但是因為是在父頁面調用的,所以,有可能子frame還沒有呈現出來之前,就調用這個方法,就會導致出錯,我當時也是,通過dom看window.frames["name"].frames,怎么看都有我要調用的方法,但是就是調用不到 ,后來我才想明白原因,所以,給這個方法加個延時就可以了:

new Ext.util.DelayedTask(function(){window.frames["frame_name"].frames.functionName();}).delay(250);

?

?

轉載于:https://www.cnblogs.com/qgli/p/3543880.html

總結

以上是生活随笔為你收集整理的Extjs4开发中的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。