headjs实现网站并行加载但顺序执行JS


Posted in Javascript onNovember 29, 2016

http://headjs.com/

并行加载JS,但是执行的时候却按顺序执行,提高网站速度

<script src="js/head.min.js"></script>
<script type="text/javascript"> head.js("js/jquery-1.6.1.min.js","js/jquery.validate.min.js","js/my_validate.js"); </script>

注意:head.js("js/jquery-1.6.1.min.js","js/jquery.validate.min.js","js/my_validate.js"); 里面包含的JS在本地文件夹里面必须有,否则在IE中部执行

如:head.js("js/jquery-1.6.1.min.js","js/jquery.validate.min.js","js/alert.js");如果本地没有jquery.validate.min.js文件,在IE下将不执行alert.js

1、异步加载其他 JS 文件,比如 Jquery 。虽然之前我也是把引用的外部 JS 放在页面底部的,但是用了 head.js 之后,我可以把所有 JS 内容汇集成一个文件,放在页面的最后。然后就可以在这个 JS 文件里来引用其他外部 JS 。比如我的页面里最下方引用了一个 JS 内容为:

head(function() {
........
});
/* part 1 */
head.js("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js");
/* part 2 */

其中第一部分是页面加载完成后要执行的 JS 脚本,第二部分是执行脚本前先引用的外部 JS 文件地址,很明显如果想要升级使用的 Jquery 版本,我只要修改这个文件就行了而不用变动页面内容。这对于采用静态发布的 MovableType 来说很有用。

2、CSS3 属性支持度检测。说起来很拗口,意思就是可以分辨出浏览器是否支持某条 CSS3 属性。如果支持某条属性,那么将会在页面的 HTML 节点上加上一个以这个属性命名的 class ,如果不支持则这个 class 的名字就有个 no- 前缀。比如,IE6 不支持 boxshadow 属性的,那么浏览这使用 IE6 访问页面时,页面的 html 节点就是类似这样的:<html class="no-boxshadow"> 。

这样就可以在 CSS 文件里设定当浏览器不支持某个高级属性的时候用其他的方案来替代。

.boxshadow .box{
box-shadow: 0px 0px 5px #bbb;
}
.no-boxshadow .box{
border: 2px solid #bbb;
}

目前 head.js 可以检测的 CSS3 属性有 borderimage borderradius boxshadow opacity reflections rgba textshadow transforms transitions 。

3、head.js 可以检测浏览器的种类、版本,还可以检测当前访问的页面相对于网站根目录的路径,更酷的,head.js 可以动态地检测到浏览器当前窗口大小。并且,把前面这几个属性都动态地传递给 html 节点,添加上相应 class !这样再配合 CSS 就可以制作出一个适应各浏览器、每个页面都独特得、随着窗口大小的改变自动变换排版的酷设计了。

以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Javascript remove 自定义数组删除方法
Oct 20 Javascript
Jquery 的扩展方法总结
Oct 01 Javascript
javascript 中__proto__和prototype详解
Nov 25 Javascript
ECMAScript 5中的属性描述符详解
Mar 02 Javascript
jquery中$each()方法的使用指南
Apr 30 Javascript
JavaScript 函数模式详解及示例
Sep 07 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
Jul 03 Javascript
vue实现仿淘宝结账页面实例代码
Nov 08 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 Javascript
vue中实现高德定位功能
Dec 03 Javascript
JavaScript实现PC端横向轮播图
Feb 07 Javascript
如何使用headjs来管理和异步加载js
Nov 29 #Javascript
JS针对Array的各种操作汇总
Nov 29 #Javascript
用headjs来管理和加载js 提高网站加载速度
Nov 29 #Javascript
巧用数组制作图片切换js代码
Nov 29 #Javascript
JS插件plupload.js实现多图上传并显示进度条
Nov 29 #Javascript
文件上传插件SWFUpload的使用指南
Nov 29 #Javascript
jquery结合html实现中英文页面切换
Nov 29 #Javascript
You might like
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
Python的lambda匿名函数的简单介绍
2013/04/25 Python
pygame播放音乐的方法
2015/05/19 Python
Python中属性和描述符的正确使用
2016/08/23 Python
详解python算法之冒泡排序
2019/03/05 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
美国创意之家:BulbHead
2017/07/12 全球购物
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
打架检讨书100字
2014/01/08 职场文书
医院检讨书范文
2014/02/01 职场文书
护士找工作求职信
2014/07/02 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
股东授权委托书
2014/10/15 职场文书
商铺门面租房协议书
2014/10/21 职场文书
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers