点评js异步加载的4种方式


Posted in Javascript onDecember 22, 2015

js异步加载的4种方式,点评开始。

方案1:$(document).ready

<!DOCTYPE html>
<html>
    <head>
        <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> 
        <script type="text/javascript">
            $(document).ready(function() {
              alert("加载完成!");
            });
        </script>
    </head>
    <body>
        <img src="http://images.cnitblog.com/i/121863/201405/222202573569862.jpg" />
    </body>
</html>

点评:

1、需要引用jquery

2、兼容所有浏览器。

方案2<script>标签的async="async"属性

async的定义和用法(是HTML5的属性)

async 属性规定一旦脚本可用,则会异步执行。

示例:

<script type="text/javascript" src="xxxxxxx.js" async="async"></script>

点评:

1、HTML5中新增的属性,Chrome、FF、IE9&IE9+均支持(IE6~8不支持)。此外,这种方法不能保证脚本按顺序执行。

2、async 属性仅适用于外部脚本(只有在使用 src 属性时)。

方案3<script>标签的defer="defer"属性

defer 属性规定是否对脚本执行进行延迟,直到页面加载为止。

有的 javascript 脚本 document.write 方法来创建当前的文档内容,其他脚本就不一定是了。

如果您的脚本不会改变文档的内容,可将 defer 属性加入到 <script> 标签中,以便加快处理文档的速度。因为浏览器知道它将能够安全地读取文档的剩余部分而不用执行脚本,它将推迟对脚本的解释,直到文档已经显示给用户为止。

示例:

<script type="text/javascript" defer="defer"> 
alert(document.getElementById("p1").firstChild.nodeValue); 
</script>

点评:兼容所有浏览器。此外,这种方法可以确保所有设置defer属性的脚本按顺序执行。

方案4:动态创建<script>标签

示例:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            (function(){
                var s = document.createElement('script');
                s.type = 'text/javascript';
                s.src = "http://code.jquery.com/jquery-1.7.2.min.js";
                var tmp = document.getElementsByTagName('script')[0];
                tmp.parentNode.insertBefore(s, tmp);
            })();
        </script>
    </head>
    <body>
        <img src="http://images.cnitblog.com/i/121863/201405/222202573569862.jpg" />
    </body>
</html>

点评:兼容所有浏览器。

以上就是针对js异步加载的4种方式进行的区分介绍,希望对大家的学习js异步加载有所帮助。

Javascript 相关文章推荐
Javascript 个人笔记(没有整理,很乱)
Jul 07 Javascript
javascript脚本编程解决考试分数统计问题
Oct 18 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
Feb 27 Javascript
jQuery操作select的实例代码
Jun 14 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
Jun 27 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
Aug 21 Javascript
深入解析JavaScript编程中的this关键字使用
Nov 09 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
JavaScript制作简单的框选图表
May 15 Javascript
JS Input里添加小图标的两种方法
Nov 11 Javascript
vue axios 简单封装以及思考
Oct 09 Javascript
JS获取月的第几周和年的第几周实例代码
Dec 05 Javascript
JS模拟按钮点击功能的方法
Dec 22 #Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 #Javascript
js实现仿微博滚动显示信息的效果
Dec 21 #Javascript
Javascript实现Array和String互转换的方法
Dec 21 #Javascript
图解Sublime Text3使用技巧
Dec 21 #Javascript
七个不允许错过的jQuery小技巧
Dec 21 #Javascript
jQuery焦点图插件SaySlide
Dec 21 #Javascript
You might like
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
PHP简单实现二维数组赋值与遍历功能示例
2017/10/19 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
基于PHP pthreads实现多线程代码实例
2020/06/24 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
python 类详解及简单实例
2017/03/24 Python
Android分包MultiDex策略详解
2017/10/30 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
python游戏地图最短路径求解
2019/01/16 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
文员岗位职责
2013/11/09 职场文书
简历中个人求职的自我评价模板
2013/11/29 职场文书
2014年五一促销活动方案
2014/03/09 职场文书
交通事故协议书范文
2014/04/16 职场文书
安全生产标语
2014/06/06 职场文书
刑事申诉状范文
2015/05/20 职场文书
会计岗位工作总结
2015/08/12 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android