当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript引导程序

Javascript
JQuery的ajax基础上的超强GridView展示
js表格分页实现代码
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
Tab页界面,用jQuery及Ajax技术实现
用jQuery技术实现Tab页界面之二
通过JS 获取Mouse Position(鼠标坐标)的代码
javascript 必知必会之closure
jquery ajax 登录验证实现代码
jQuery 使用手册(一)
jQuery 使用手册(二)
jQuery 使用手册(三)
jQuery 使用手册(五)
用Javascript 获取页面元素的位置的代码
网页自动跳转代码收集
JS 连锁泡泡 v1.1
javascript的onchange事件与jQuery的change()方法比较
jquery 模式对话框终极版实现代码
javascript 页面划词搜索JS
javascript String split方法误操作
一个JS小玩意 几个属性相加不能超过一个特定值.

Javascript 中的 javascript引导程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 215 ::
收藏到网摘: n/a

本网站的javascript程序架构从以下几个基本点出发 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);