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 GridView 实现自动计算操作代码
Mar 25 Javascript
JavaScript Timer实现代码
Feb 17 Javascript
javascript oop开发滑动(slide)菜单控件
Aug 25 Javascript
js中string转int把String类型转化成int类型
Aug 13 Javascript
JavaScript中的setMilliseconds()方法使用详解
Jun 11 Javascript
js原型链与继承解析(初体验)
May 09 Javascript
laypage分页控件使用实例详解
May 19 Javascript
JS实现环形进度条(从0到100%)效果
Jul 05 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
Jul 24 Javascript
Angular 4.x中表单Reactive Forms详解
Apr 25 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
vue增加强缓存和版本号的实现方法
May 01 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
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
基于jquery的无刷新分页技术
2011/06/11 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
javascript常用函数(1)
2015/11/04 Javascript
理解AngularJs指令
2015/12/10 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
Python continue语句用法实例
2014/03/11 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
Django 视图层(view)的使用
2018/11/09 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
python实现dijkstra最短路由算法
2019/01/17 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
优秀护士演讲稿
2014/04/30 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
计划生育宣传标语
2014/06/21 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书