`
征途2010
  • 浏览: 246517 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ExtJS渲染失败解决方案(一)

阅读更多

ExtJS是一种主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架,它功能丰富,界面优美,不过在项目管理信息系统开发的过程中,发现ExtJS框架经常出现页面渲染失败的现象,主要表现在数据的列表页面

 

1      如何判断页面是否渲染成功

 debugger模式下,通过对gridPanel渲染成功时生成的panel对象的属性与失败时生成的panel对象的属性进行对比,发现当渲染成功时panelwidth属性总是大于0,而失败时panelwidth属性总是小于或等于0,如下图:         

渲染失败

 

渲染成功

2     解决方法

2.1   当页面只有一个panel

当页面只有一个panel时,只需要在其返回一个panel对象前判断此panelwidth属性,如果属性值小于或等于0,则重新加载。

2.2   当页面存在多个tapPanel

当页面存在多个panel时,不仅要判断gridPanel是否渲染成功,同时也需要判断tapPanel是否渲染成功,如果不成功则重新加载。

 

注:在项目管理系统中,很多页面存在多个panel时,当每生成一个panel,此panelstore都会调用一次load()方法,当页面所有panel都生成后,然后又会调用所需要显示的tabPanelstoreload()方法,这样就会造成页面加载过慢或者数据显示很慢。建议在构造panel的方法中不要调用storeload()方法加载数据,只需要在生成所有的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);

}

 

 

注:如果利用panelwidth属性无法达到要求,则可以使用height属性来判断是否渲染成功。

分享到:
评论

相关推荐

    Extjs图片渲染效果

    ExtJS 是一个强大的JavaScript 框架,专用于构建富客户端Web应用程序。在ExtJS中,图片渲染效果是实现用户界面美观和交互性的重要组成部分。本文将深入探讨ExtJS图片渲染的效果及其应用。 首先,我们要了解ExtJS中...

    extJS4升级至extJS6.6所遇问题及解决方案

    项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议

    extjs session失效解决方案

    使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了

    extJs3升级extjs4方案

    ExtJS3 升级到 ExtJS4 方案 ExtJS3 升级到 ExtJS4 需要修改大量代码,主要是因为 ExtJS4 配备了一类新的系统,不向后兼容。在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败...

    extjs中文解决方案/Eclipse下的js和ext开发

    #### 一、ExtJS中文解决方案 在使用ExtJS进行Web应用程序开发时,对于中文环境的支持是非常重要的。为了实现ExtJS中文化,我们需要按照以下步骤来进行配置。 1. **加载ExtJS核心库** 在HTML页面中,首先需要加载...

    extjs资料extjs资料extjs资料

    它们可能包含了最佳实践、常见问题解决方案以及复杂的组件使用示例,对提高开发效率非常有帮助。 4. **Ext+JS深入浅出**:这可能是一本深入探讨ExtJS的书籍,涵盖了高级主题,如性能优化、自定义组件开发和高级布局...

    myeclipse中使用extjs缓慢 卡死 白屏 解决方法总结

    ### MyEclipse中使用ExtJS出现缓慢、卡死、白屏问题及解决方法总结 在进行Web开发时,经常会遇到一些工具与框架不兼容或配置不当导致的问题,这些问题往往会影响到开发效率。本文将针对在MyEclipse环境中使用ExtJS...

    Selenium IDE测试ExtJs一种测试解决办法.docx

    在面对这种问题时,测试人员需要寻找替代的解决方案。这里提到的一种方法是利用Selenium IDE的扩展(Extensions)功能。这种方法涉及到对Selenium IDE进行自定义,以适应ExtJs特有的行为。 首先,我们来看一下如何...

    extjs 实现动态表头

    在IT领域,特别是Web开发中,ExtJS是一个广泛使用的JavaScript框架,它提供了丰富的用户界面组件,包括表格(Grid)等。动态表头是ExtJS中一个高级特性,它允许开发者根据需要在运行时动态地创建和修改表格的列结构...

    ExtJs在struts2.0.x下实现动态树的解决方案

    本文将深入探讨如何在Struts2.0.x框架下利用ExtJs库来实现动态树的解决方案。 首先,我们需要了解ExtJs。ExtJs是一个强大的JavaScript库,提供了丰富的组件和布局,用于构建富客户端应用程序。它提供了树形控件...

    extjs4.2 desktop 拓展

    总结来说,ExtJS 4.2 Desktop 拓展是一个集成了多种桌面特性并优化了基础框架的解决方案,它提供了图标换行、窗口拖动、多级开始菜单等功能,使得开发复杂的Web应用变得更加简单和直观。通过下载提供的LinBDesk4.2...

    ExtJS 7.6 SDK trial

    10. **社区支持和更新**:随着7.6的发布,ExtJS社区也会提供大量的教程、讨论和解决方案,帮助开发者解决问题并分享最佳实践。 要深入学习ExtJS 7.6,你需要通过SDK中的示例和文档开始,熟悉新特性和改进,然后在...

    Extjs例子Extjs例子

    Extjs例子Extjs例子Extjs例子Extjs例子Extjs例子

    extjs4.2 desktop mvc

    综上所述,EXTJS 4.2 Desktop MVC 是一套完整的解决方案,它集成了丰富的UI组件、强大的数据处理能力和MVC架构,能够帮助开发者快速构建功能丰富的桌面式Web应用。通过深入学习和应用EXTJS 4.2,开发者可以构建出...

    extjs图标大全extjs图标大全extjs图标大全extjs图标大全

    ExtJS图标大全是一个集合了多种图标的资源库,特别适合用于Web开发,尤其是使用ExtJS框架构建用户界面时。ExtJS是一款强大的JavaScript UI框架,它提供了丰富的组件和工具,帮助开发者构建功能丰富的、响应式的Web...

    ExtJS静态使用示例

    ExtJS是一种广泛应用于Web开发的JavaScript库,专用于构建富客户端的桌面级应用程序。它提供了大量的组件和功能,包括数据网格、面板、树形视图等,使得开发者能够创建交互性强、界面美观的Web应用。以下是对标题...

    extjs流程界面设计器参考_ExtJS工作流设计器_extjs工作流_extjs_

    ExtJS是一种广泛使用的JavaScript库,专门用于构建富客户端的Web应用程序。它提供了丰富的组件和工具,使得开发者可以创建出功能强大、用户界面友好的Web应用。在“extjs流程界面设计器参考”中,我们主要关注的是...

    EXTJS 多文件上传

    总的来说,EXTJS的`MultiFileUploadField` 是一个强大且灵活的多文件上传解决方案,它结合了现代Web技术,提供了优秀的用户体验和丰富的开发者接口。通过合理利用这个组件,开发者可以快速构建出功能完善的文件上传...

Global site tag (gtag.js) - Google Analytics