javascript引导程序


Posted in Javascript onOctober 26, 2008

1、网页在加载时,页面代码中的js文件引用(如下)都会向服务器产生http请求,因为在body.onload事件之前加载的文件(这里我称之为静态加载文件)都会向服务器产生http请求。为了减少服务器的http请求,本人提倡每个页面最多只有一个js文件引用。
<script language='Javascript' type='text/Javascript' src='?.js'></script>
2、body.onload事件之后加载文件(这里我称之为动态加载文件)的时候,浏览器会先查找缓存文件,如果缓存文件不存在才会向服务器发出http请求;所以本人提倡动态加载文件,而在body.onload事件之前的静态加载文件应该做到精短。
3、本系统程序按照功能模块划分为单个文件,在/source/js/system.js中实现运行时按需下载,而不是恐怖的一次性下载所有脚本程序代码,减少网络带宽的占用。
4、为了让js代码跨网站调用时不会出现编码问题,程序中所有汉字用函数escape编码,如果只是单网站使用,您可以把编码改回汉字。
5、所有函数或类注明为“本网站自用”的,很可能与本网站后台自定义的数据类型有关,您可以将它删除。

下面是/js/Load.js程序以及的注释说明:

var IsBody={}; //定义动态加载js程序文件的代码 
eval("IsBody.AppendJs="+(IsBody.AppendJsCode="function(){var A=(typeof(arguments[0])=='string'?arguments:arguments[0]);for(var i=A.length-1;i>=0;i--){var J=document.createElement('script');J.language='javascript';J.type='text/Javascript';J.src=A[i];document.getElementsByTagName('head')[0].appendChild(J);}};")); 
//测试document.body是否已经加载 
IsBody.Try=function() 
{ 
if(document.body&&((this.IsIE=(document.readyState!=null))?document.readyState.toLowerCase()=='complete':true)) 
{ //document.body加载后判断浏览器是IE还是FoxFire,本程序目前支持这两种浏览器 
clearTimeout(this.Interval); 
if(typeof(LoadCssFile)!='undefined') 
{ //动态加载css文件,目的也是减少服务器的http请求(注意这里LoadCssFile是个数组) 
var C=LoadCssFile,j=C.length,i=1; 
while(i<j) 
{ 
var J=document.createElement('link');J.rel='stylesheet';J.type='text/css';J.href=C[i++];document.getElementsByTagName('head')[0].appendChild(J); 
} 
} 
//动态加载图片,目的也是减少服务器的http请求 
if(typeof(LoadImage)!='undefined') this.AppendJs('/source/js/LoadImage.js'); 
//动态加载程序主体系统 
this.AppendJs('/source/js/System.js'); 
} 
}; 
IsBody.Interval=setInterval('IsBody.Try();',100);
Javascript 相关文章推荐
JS获取dom 对象 ajax操作 读写cookie函数
Nov 18 Javascript
javascript学习笔记(三) String 字符串类型介绍
Jun 19 Javascript
jQuery在html有效在jsp无效的原因及解决方法
Aug 02 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
学习AngularJs:Directive指令用法(完整版)
Apr 26 Javascript
jQuery图片轮播插件——前端开发必看
May 31 Javascript
非常实用的js验证框架实现源码 附原理方法
Jun 08 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
Apr 13 Javascript
JavaScript实现的简单加密解密操作示例
Jun 01 Javascript
elementUI select组件默认选中效果实现的方法
Mar 25 Javascript
elementui的el-popover修改样式不生效的解决
Jun 30 Javascript
javascript笔试题目附答案@20081025_jb51.net
Oct 26 #Javascript
Div自动滚动到末尾的代码
Oct 26 #Javascript
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 #Javascript
js判断变量是否空值的代码
Oct 26 #Javascript
Prototype使用指南之selector.js说明
Oct 26 #Javascript
prototype Element学习笔记(Element篇三)
Oct 26 #Javascript
prototype Element学习笔记(篇二)
Oct 26 #Javascript
You might like
discuz安全提问算法
2007/06/06 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
JavaScript中的私有成员
2006/09/18 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
从零学python系列之从文件读取和保存数据
2014/05/23 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
解决tensorflow由于未初始化变量而导致的错误问题
2020/01/06 Python
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
weblogic面试题
2016/03/07 面试题
体育教师个人的自我评价
2014/02/16 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
个性与发展自我评价
2015/03/06 职场文书
民事调解书范文
2015/05/20 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python