ExtJS是一种主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架,它功能丰富,界面优美,不过在项目管理信息系统开发的过程中,发现ExtJS框架经常出现页面渲染失败的现象,主要表现在数据的列表页面。
1 如何判断页面是否渲染成功
在debugger模式下,通过对gridPanel渲染成功时生成的panel对象的属性与失败时生成的panel对象的属性进行对比,发现当渲染成功时panel的width属性总是大于0,而失败时panel的width属性总是小于或等于0,如下图:
渲染失败
渲染成功
2 解决方法
2.1 当页面只有一个panel时
当页面只有一个panel时,只需要在其返回一个panel对象前判断此panel的width属性,如果属性值小于或等于0,则重新加载。
2.2 当页面存在多个tapPanel时
当页面存在多个panel时,不仅要判断gridPanel是否渲染成功,同时也需要判断tapPanel是否渲染成功,如果不成功则重新加载。
注:在项目管理系统中,很多页面存在多个panel时,当每生成一个panel,此panel的store都会调用一次load()方法,当页面所有panel都生成后,然后又会调用所需要显示的tabPanel的store的load()方法,这样就会造成页面加载过慢或者数据显示很慢。建议在构造panel的方法中不要调用store的load()方法加载数据,只需要在生成所有的tabPanel之后再加载所需要显示panel的数据。
3 代码范例
3.1 范例一
当数据量不大时:
//如果gridPanel渲染失败,则重新加载。 if(Ext.getCmp('workloadListID').width<=0){ document.location.reload() }
//如果tabPanel渲染失败,则重新加载 if(tabs.width<=0){ document.location.reload(); } |
3.2 范例二
当数据量很大时,页面可能一直加载失败,这样会不停的访问后台,会给服务器造成很大的压力,所以建议使用延时刷新。
//渲染失败时重新渲染 if(Ext.getCmp('changeListID').width<=0){ setTimeout("history.go(-0)",500); } |
注:如果利用panel的width属性无法达到要求,则可以使用height属性来判断是否渲染成功。
相关推荐
ExtJS 是一个强大的JavaScript 框架,专用于构建富客户端Web应用程序。在ExtJS中,图片渲染效果是实现用户界面美观和交互性的重要组成部分。本文将深入探讨ExtJS图片渲染的效果及其应用。 首先,我们要了解ExtJS中...
项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议
使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了
ExtJS3 升级到 ExtJS4 方案 ExtJS3 升级到 ExtJS4 需要修改大量代码,主要是因为 ExtJS4 配备了一类新的系统,不向后兼容。在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败...
#### 一、ExtJS中文解决方案 在使用ExtJS进行Web应用程序开发时,对于中文环境的支持是非常重要的。为了实现ExtJS中文化,我们需要按照以下步骤来进行配置。 1. **加载ExtJS核心库** 在HTML页面中,首先需要加载...
### MyEclipse中使用ExtJS出现缓慢、卡死、白屏问题及解决方法总结 在进行Web开发时,经常会遇到一些工具与框架不兼容或配置不当导致的问题,这些问题往往会影响到开发效率。本文将针对在MyEclipse环境中使用ExtJS...
在面对这种问题时,测试人员需要寻找替代的解决方案。这里提到的一种方法是利用Selenium IDE的扩展(Extensions)功能。这种方法涉及到对Selenium IDE进行自定义,以适应ExtJs特有的行为。 首先,我们来看一下如何...
在IT领域,特别是Web开发中,ExtJS是一个广泛使用的JavaScript框架,它提供了丰富的用户界面组件,包括表格(Grid)等。动态表头是ExtJS中一个高级特性,它允许开发者根据需要在运行时动态地创建和修改表格的列结构...
本文将深入探讨如何在Struts2.0.x框架下利用ExtJs库来实现动态树的解决方案。 首先,我们需要了解ExtJs。ExtJs是一个强大的JavaScript库,提供了丰富的组件和布局,用于构建富客户端应用程序。它提供了树形控件...
总结来说,ExtJS 4.2 Desktop 拓展是一个集成了多种桌面特性并优化了基础框架的解决方案,它提供了图标换行、窗口拖动、多级开始菜单等功能,使得开发复杂的Web应用变得更加简单和直观。通过下载提供的LinBDesk4.2...
10. **社区支持和更新**:随着7.6的发布,ExtJS社区也会提供大量的教程、讨论和解决方案,帮助开发者解决问题并分享最佳实践。 要深入学习ExtJS 7.6,你需要通过SDK中的示例和文档开始,熟悉新特性和改进,然后在...
Extjs是一个基于JavaScript的框架,用于构建交互式的web应用。本书作为Extjs的中文教程,旨在帮助读者快速上手Extjs,其内容涉及Extjs的基础知识和实际应用。 #### 2. JavaScript基础知识 - **类的定义**: Extjs中...
EXTJS 是一个强大的JavaScript前端框架,它主要用于构建富客户端应用,提供丰富的用户界面组件和灵活的可定制性。EXTJS 的核心在于其组件化的架构,允许开发者构建复杂的UI布局和功能丰富的应用程序。以下是对EXTJS...
综上所述,EXTJS 4.2 Desktop MVC 是一套完整的解决方案,它集成了丰富的UI组件、强大的数据处理能力和MVC架构,能够帮助开发者快速构建功能丰富的桌面式Web应用。通过深入学习和应用EXTJS 4.2,开发者可以构建出...
ExtJS是一种广泛应用于Web开发的JavaScript库,专用于构建富客户端的桌面级应用程序。它提供了大量的组件和功能,包括数据网格、面板、树形视图等,使得开发者能够创建交互性强、界面美观的Web应用。以下是对标题...
ExtJS是一种广泛使用的JavaScript库,专门用于构建富客户端的Web应用程序。它提供了丰富的组件和工具,使得开发者可以创建出功能强大、用户界面友好的Web应用。在“extjs流程界面设计器参考”中,我们主要关注的是...
总的来说,EXTJS的`MultiFileUploadField` 是一个强大且灵活的多文件上传解决方案,它结合了现代Web技术,提供了优秀的用户体验和丰富的开发者接口。通过合理利用这个组件,开发者可以快速构建出功能完善的文件上传...
9. **文档和社区支持**:EXTJS 3.3 配套有详细的API文档和活跃的社区,为开发者提供了丰富的学习资源和问题解决方案。 在压缩包中,“说明.htm”可能包含了关于EXTJS 3.3的安装指南、使用提示或者常见问题解答。...
ExtJS是一种广泛使用的JavaScript库,专门用于构建富客户端Web应用程序。这个压缩包包含了ExtJS的两个重要版本:2.2和3.2.1。这两个版本在Web开发领域都有着广泛的运用,它们各自拥有不同的特性和改进,对于理解...