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 相关文章推荐
JS日历 推荐
Dec 03 Javascript
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
Feb 09 Javascript
Some tips of wmi scripting in jscript (1)
Apr 03 Javascript
location.search在客户端获取Url参数的方法
Jun 08 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
Jan 02 Javascript
JS日期和时间选择控件升级版(自写)
Aug 02 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
BootStrap select2 动态改变值的方法
Feb 10 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
Mar 07 Javascript
Web纯前端“旭日图”实现元素周期表
Mar 10 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
利用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
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
jquery获取复选框checkbox的值的简单实现方法
2016/05/26 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python实现批量下载图片的方法
2015/07/08 Python
Python日期的加减等操作的示例
2017/08/15 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
Flask-Mail用法实例分析
2018/07/21 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
pandas 时间格式转换的实现
2019/07/06 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
家长写给老师的建议书
2014/03/13 职场文书
信用卡工资证明范本
2014/10/17 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
2016年学校招生广告语
2016/01/28 职场文书
2016年少先队活动总结
2016/04/06 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python