js实现延迟加载的几种方法


Posted in Javascript onApril 24, 2017

js的延迟加载有助与提高页面的加载速度,以下是延迟加载的几种方法:

1.使用setTimeout延迟方法的加载时间

延迟加载js代码,给网页加载留出更多时间

<script type="text/javascript" >
  function A(){
    $.post("/lord/login",{name:username,pwd:password},function(){
      alert("Hello");
    });
  }
  $(function (){
    setTimeout('A()', 1000); //延迟1秒
  })
</script>

2.让js最后加载

例如引入外部js脚本文件时,如果放入html的head中,则页面加载前该js脚本就会被加载入页面,而放入body中,则会按照页面从上倒下的加载顺序来运行JavaScript的代码~~~ 所以我们可以把js外部引入的文件放到页面底部,来让js最后引入,从而加快页面加载速度

3.上述方法2也会偶尔让你收到Google页面速度测试工具的“延迟加载javascript”警告。所以这里的解决方案将是来自Google帮助页面的推荐方案。

//这些代码应被放置在</body>标签前(接近HTML文件底部)
<script type="text/javascript">
  function downloadJSAtOnload() {
    var element = document.createElement("script");
    element.src = "defer.js";
    document.body.appendChild(element);
  }
  if (window.addEventListener)
    window.addEventListener("load", downloadJSAtOnload, false);
  else if (window.attachEvent)
    window.attachEvent("onload", downloadJSAtOnload);
  else window.onload = downloadJSAtOnload;
</script>

这段代码意思是等到整个文档加载完后,再加载外部文件“defer.js”。

使用此段代码的步骤:

1).复制上面代码

2).粘贴代码到HTML的标签前 (靠近HTML文件底部)

3).修改“defer.js”为你的外部JS文件名

4).确保你文件路径是正确的。例如:如果你仅输入“defer.js”,那么“defer.js”文件一定与HTML文件在同一文件夹下。

注意:这段代码直到文档加载完才会加载指定的外部js文件。因此,不应该把那些页面正常加载需要依赖的javascript代码放在这里。而应该将JavaScript代码分成两组。一组是因页面需要而立即加载的javascript代码,另外一组是在页面加载后进行操作的javascript代码(例如添加click事件或其他东西)。这些需等到页面加载后再执行的JavaScript代码,应放在一个外部文件,然后再引进来。

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

Javascript 相关文章推荐
Javascript中的数学函数集合
May 08 Javascript
jQuery的强大选择器小结
Dec 27 Javascript
js function使用心得
May 10 Javascript
jquery获取tr中控件值并操作tr实现思路
Mar 27 Javascript
javascript弹出层输入框(示例代码)
Dec 11 Javascript
javascript制作坦克大战全纪录(2)
Nov 27 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
Oct 10 Javascript
如何使用Bootstrap 按钮实例详解
Mar 29 Javascript
vue数据双向绑定的注意点
Jun 23 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
Sep 19 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
jquery实现淡入淡出轮播图效果
Dec 13 jQuery
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 #Javascript
浅析Angular2子模块以及异步加载
Apr 24 #Javascript
Angular2使用Guard和Resolve进行验证和权限控制
Apr 24 #Javascript
详解AngularJS 路由 resolve用法
Apr 24 #Javascript
详解AngularJS ui-sref的简单使用
Apr 24 #Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 #Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
Apr 24 #Javascript
You might like
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
input file获得文件根目录简单实现
2013/04/26 PHP
php发送post请求函数分享
2014/03/06 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
python求列表交集的方法汇总
2014/11/10 Python
Python实现快速多线程ping的方法
2015/07/15 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
3种python调用其他脚本的方法
2020/01/06 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
Python tkinter实现日期选择器
2021/02/22 Python
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
新闻专业本科生的自我评价分享
2013/11/20 职场文书
总裁岗位职责
2013/12/04 职场文书
教师求职自荐信
2014/03/09 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
邀请函怎么写
2015/01/30 职场文书
Go语言特点及基本数据类型使用详解
2022/03/21 Golang
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python