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 相关文章推荐
jquery 页面全选框实践代码
Apr 02 Javascript
Date对象格式化函数代码
Jul 17 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
Jun 06 Javascript
纯javascript制作日历控件
Jul 17 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
Jan 30 Javascript
jQuery操作css样式
May 15 jQuery
详解Angular6.0使用路由步骤(共7步)
Jun 29 Javascript
解决vue中修改export default中脚本报一大堆错的问题
Aug 27 Javascript
Vue表单控件绑定图文详解
Feb 11 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
Oct 12 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制作静态网站的模板框架
2006/10/09 PHP
php中取得URL的根域名的代码
2011/03/23 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
javascript常见操作汇总
2014/09/03 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
微信小程序 实现tabs选项卡效果实例代码
2016/10/31 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
Python 3中print函数的使用方法总结
2017/08/08 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
python issubclass 和 isinstance函数
2019/07/25 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
Python pip使用超时问题解决方案
2020/08/03 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
应届生服装设计自我评价
2013/09/20 职场文书
年度献血先进个人事迹材料
2014/02/14 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
比赛口号大全
2014/06/10 职场文书
新文化运动的基本口号
2014/06/21 职场文书
小学教师节活动总结
2015/03/20 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
使用python求解迷宫问题的三种实现方法
2022/03/17 Python