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 相关文章推荐
node.js中的emitter.on方法使用说明
Dec 10 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
Dec 13 Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 Javascript
JavaScript程序开发之JS代码放置的位置
Jan 15 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
Dec 22 Javascript
深入浅析ES6 Class 中的 super 关键字
Oct 20 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 jQuery
解决vue中无法动态修改jqgrid组件 url地址的问题
Mar 01 Javascript
element-ui 文件上传修改文件名的方法示例
Nov 05 Javascript
JSON 入门教程基础篇 json入门学习笔记
Sep 22 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
Dec 16 Javascript
浅谈JS的原型和原型链
Jun 04 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简单图像创建入门实例
2015/06/10 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
PHP序列化操作方法分析
2016/09/28 PHP
jquery的map与get方法详解
2013/11/04 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
JQueryDOM之样式操作
2019/03/27 jQuery
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
python实现各种插值法(数值分析)
2019/07/30 Python
django中的图片验证码功能
2019/09/18 Python
如何基于Python实现自动扫雷
2020/01/06 Python
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
毕业生文员求职信
2013/11/03 职场文书
会计专业应届生求职信
2013/11/24 职场文书
大学生创业计划书
2014/08/14 职场文书
团队拓展活动总结
2014/08/27 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
红白喜事主持词
2015/07/06 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python