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);
Extjs4开发中的一些问题的更多相关文章
- TDD在Unity3D游戏项目开发中的实践
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...
- React在开发中的常用结构以及功能详解
一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...
- Android学习探索之Java 8 在Android 开发中的应用
前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上, ...
- Java开发中的23种设计模式详解
[放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...
- 总结iOS开发中的断点续传那些事儿
前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- C#开发中使用配置文件对象简化配置的本地保存
C#开发中使用配置文件对象简化配置的本地保存 0x00 起因 程序的核心是数据和逻辑,开发过程中免不了要对操作的数据进行设置,而有些数据在程序执行过程中被用户或程序做出的修改是应该保存下来的,这样程序 ...
- iOS开发中静态库之".framework静态库"的制作及使用篇
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...
- iOS开发中静态库制作 之.a静态库制作及使用篇
iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...
随机推荐
- quartz.net 基于数据库的简单实现
前面简单学习了通过XML配置或者内存指定的方式实现调度任务.但此用法实战用途较小,企业上多需要分布式集群的方式.quart团队也考虑到了这点,于是有了我们今天要学习的.基于数据库实现分布式. Name ...
- oracle 11g 报错记录
1.ORA-01034: ORACLE not available sqlplus "sys/password as sysdba" 2.ORA-00119: invalid sp ...
- jquery插件下载地址
以下是本人收集的jquery插件下载地址: .............版本自行选择. jquery官网:http://jquery.com/ jquery.validate.js 官网下载地址:htt ...
- 绝对定位的DIV绝对居中显示
绝对居中:即在客户端上任何分辨率下纵横方向均居中 紫色的正方形为绝对定位的div position:absolute; top: 50%; left: 50%; 只能把div定位在以红色圈为起点的位置 ...
- Struts2中EL表达式取值
http://blog.csdn.net/cuihaiyang/article/details/41950141 (写的不错,可以知道为什么struts2可以用El取属性值的问题.正常el从reque ...
- 前端----表格的具体使用(jquery)
表格在页面布局中常常会用到.在不同的框架中有不同的使用方法,现在,我先总结下表格在jquery中具体使用: 1.增--insertAfter() function addTr(){ $("& ...
- 连接远程LINUX服务器
远程登陆linux服务器需要下载一个软件,非常好用,名字是SecureCRT5,百度搜索有很多,如果下载不到可以联系我 运行安装包,一路下一步就可以了 安装好后,运行该软件 点击左上角第二 ...
- 使用Ubuntu 新建vpn过程
1.更新软件源 sudo apt-get update 2.安装pip sudo apt-get install python-pip 3.安装shadowsocks s ...
- return、break、continue的区别
一.定义 return:语句用于终止当前方法运行,返回到调用该方法的语句处.如有返回值,则在return后面提供相应的返回值. break:其主要用于循环语句和switch语句,其作用均是强行终止语句 ...
- 打印十进制数n 递归
#include<stdio.h> //printd函数: 打印十进制数n void printd(int n){ ){ putchar('-'); n=-n; } ) printd(n/ ...