javascript引导程序
发布时间:2024-04-16 10:31:16
标签: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);


猜你喜欢
- 本文实例讲述了Python实现将数据写入netCDF4中的方法。分享给大家供大家参考,具体如下:nc文件为处理气象数据文件。用户可以去htt
- tf.gather和gather_nd从params中收集数值,tf.scatter_nd 和 tf.scatter_nd_update用u
- pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的,下面我们讲
- 1.插入语句1.1插入一行有两种:1.以小括号的形式这里注意:如果表名后边不加小括号对应内容,那么默认就是添加所有列2.以set形式inse
- el-table格式化el-table-column内容遇到一个需求,一个循环展示的table中的某项,或者某几项需要格式化。对于格式化的方
- 一、搭建项目环境1、创建 RBAC五张表RBAC,即基于角色的权限访问控制(Role-Based Access Control),就是用户通
- Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易。本指南中,我将一步一步指导你在Heroku平台上部署一个简单地
- def Dijkstra(network,s,d):#迪杰斯特拉算法算s-d的最短路径,并返回该路径和代价 print(&quo
- 这是LeetCode的第1668题:最大重复子字符串最大重复子字符串给你一个字符串 sequence ,如果字符串 wo
- python 创建List二维列表lists = [[] for i in range(3)] # 创建的是多行三列的二维列表for i i
- 如果管理网络设备很多,不可能靠人力每天去登录设备去查看是否在线。所以,可以利用python脚本通过每天扫描网络中的在线设备。可以部署在服务器
- 挖坟 交互设计(Interaction Design)产生于二十世纪八十年代,在1984年一次设计会议上,大名鼎鼎的英国交互设计师比尔·莫格
- 学习器在测试集上的误差我们通常称作“泛化误差”。要想得到“泛化误差”首先得将数据集划分为训练集和测试集。那么怎么划分呢?常用的方法有两种,k
- 一、推理原理1.标定噪声的特征,使用cv2.inRange二值化标识噪声对图片进行二值化处理,具体代码:cv2.inRange(img, n
- MYSQL与SQLserver之间存储过程的转换首先先放两个存储过程来进行对比mysql存储过程CREATE DEFINER=`root`@
- 首先,在写数据库时需要遵循以下几个原则: 数据库的命名规范: &nbs
- 首先解释几个概念:TCP:TCP是因特网中的传输层协议,使用三次握手协议建立连接。IP:Internet Protocol协议的英文名直译就
- 本文实例分析了Python二分法搜索算法。分享给大家供大家参考。具体分析如下:今天看书时,书上提到二分法虽然道理简单,大家一听就明白但是真正
- 本文研究的主要是python PIL实现图片合成的相关内容,具体介绍如下,分享实例代码。在项目中需要将两张图片合在一起。遇到两种情况,一种就
- 备注:Oracle 19C一. Json数据存储看了下官网,Json数据一般使用varchar2(400),varchar2(32676)或