使用ExtJs开发MIS系统(2):Js的动态加载

对于一个复杂的系统来说,客户端的JS可能会有上百个,如果全部加载到用户的浏览器中,一方面会导致多余的网络传输,另一方面浏览器解析大量的Js会导致性能下降,这两点都会显著的影响用户可察觉性能。所以对于Js的加载,是动态进行的,这个动态进行表现为两种方式:

能不加载的Js就绝不加载。

需要加载的Js在直到确实用到的时候才加载。

1,能不加载的Js就绝不加载

拿登陆的流程为例:

开发MIS系统(2):Js的动态加载-">
尝试登陆包含两种情况,一种是用户刷新页面时,尝试根据当前的令牌自动登陆,另一种是用户在上一次登录时保存了用户名和密码,这两种情况无论哪一种登陆成功了,都不需要用户再次登陆了,从而也就不需要加载FormLogin这个Js了。

2,需要加载的Js在直到确实用到的时候才加载

对于功能模块来说,仅当当前用户具有该模块的权限时,才会生成显示相关的菜单项。而今当该模块的某一个菜单项目第一次被点击时,该模块的相关Js才会被加载:

时间: 2025-01-20 20:42:30

使用ExtJs开发MIS系统(2):Js的动态加载的相关文章

使用ExtJs开发MIS系统

使用ExtJs开发MIS系统(7):ExtJs性能浅析 使用ExtJs开发MIS系统(6):客户端MVC 使用ExtJs开发MIS系统(5):使用Action抽象客户端操作 使用ExtJs开发MIS系统(4):轮询 使用ExtJs开发MIS系统(3):使用数据库保存客户端状态 使用ExtJs开发MIS系统(2):Js的动态加载 使用ExtJs开发MIS系统(1):基于ExtJs的MIS构架设计

使用ExtJs开发MIS系统(1):基于ExtJs的MIS构架设计

本系列主要包括以下内容: 基于ExtJs的MIS构架设计. Js的动态加载. 使用数据库保存客户端状态. 轮询和无状态设计. 使用Action抽象客户端操作. 客户端MVC. 最后,如果还有精力的话,再写一些ExtJs性能方面的心得. 本文中的例子.代码等来源于真实的的项目,所以恕不能提供完整的代码下载,但会尽量详细的阐述设计思路,并给出关键的代码片段. 欢迎大家交流和指教. 2,客户端的"致富"之路 在SilverLight.Flex等富客户端框架出现以前,系统中通常由服务器负责Ht

使用ExtJs开发MIS系统(7):ExtJs性能浅析

在使用ExtJs过程中,性能一直是一个比较头疼的问题,从用户的角度来看,就一个字:慢.从技术的角度来说,这个"慢"字可以分为两种,加载"慢"和渲染"慢".想分辨这两种情况很容易:如果居于网不慢而互联网上慢,说明是加载慢:如果Chrome不慢而IE慢,就是渲染慢.还有另一种情况:越用越慢,这个"慢"通常是内存泄露造成的. 针对以下这三种情况讨论一下解决方案: 1,加载慢 1.1 减少要加载的东西 不要动不动就ext-all.js

使用ExtJs开发MIS系统(6):客户端MVC

MVC结构大家都很熟悉,利用ExtJs提供的数据和显示控件,很容易实现基于Js的客户端MVC. 开发MIS系统(6):客户端MVC-"> 其中的Actions就是使用ExtJs开发MIS系统(5):使用Action抽象客户端操作描述提到的Actions:Model由Ext.data.Record.Ext.data.Store及其派生类组成:View由Ext的各个控件构成. Ext.data.Store提供了很多事件,比如add.remove.update等,View可以通过捕捉这些事件进行

使用ExtJs开发MIS系统(5):使用Action抽象客户端操作

在客户端系统中,或者说在任何系统中,同样的操作是可以通过不同的方式激发的,比如说我们使用的浏览器,刷新当前页面可以点击刷新按钮,可以在右键菜单中选择刷新,还可以按F5快捷键.但不管操作方式如何变化,操作本身是不变的,所以我们可以把这些操作抽象出来. 来看以下代码: 1: Srims.Action = new function(){ 2: }; 3: 4: Srims.Action.doAction = function(e, t){ 5: e.stopEvent(); 6: var action

嵌入式系统中的模块动态加载技术

摘要 提出一种适用于嵌入式系统的模块动态加载技术,设计实现简单,占用资源少,开销小,并且成功运用于DeltaOS.可提高系统的灵活性和扩属性.介招加载与动态链接的原理和应用情况,解释相关术语,描述基本设计思路:详细说明该技术的核心.即模块声明.调用库.两级重定位表,最后给出结论. 关键词 模块 动态加栽 嵌入式系统DeltaOS 引 言随着电子技术的飞速发展,嵌人式设备应用越来越广泛,复杂度也越来越高.这使得硬件和软件设计比例发生了很大变化,软件开发的比重越来越大.然而传统嵌入式开发过程中需要将

js的动态加载、缓存、更新以及复用(四)

本来想一气呵成,把加载的过程都写了,但是卡着呢,所以只好在分成两份了. 1.页面里使用<script>来加载 boot.js . 2.然后在boot.js里面动态加载 bootLoad.js.以时间作为标识 var dateVer = date.getYear() + "_" + date.getMonth() + "_" + date.getDate() + "_" + date.getHours(); 这样可以保证一小时内肯定会被

js的动态加载、缓存、更新以及复用

本来想一气呵成,把加载的过程都写了,但是卡着呢,所以只好在分成两份了. 1.页面里使用<script>来加载 boot.js . 2.然后在boot.js里面动态加载 bootLoad.js.以时间作为标识 var dateVer = date.getYear() + "_" + date.getMonth() + "_" + date.getDate() + "_" + date.getHours(); 这样可以保证一小时内肯定会被

jquery及js实现动态加载js文件的方法_javascript技巧

本文实例讲述了jquery及js实现动态加载js文件的方法.分享给大家供大家参考,具体如下: 问题: 如果用jquery append直接加载script标签的话,会报错的.除了document.write外,还有没有其他的比较好的动态加载js文件的方法. 解决方法: 1.jquery方法 $.getScript("./test.js"); //加载js文件 $.getScript("./test.js",function(){ //加载test.js,成功后,并执