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的类型转换(字符转数字 数字转字符)
Aug 30 Javascript
jquery插件制作 提示框插件实现代码
Aug 17 Javascript
js导航菜单(自写)简单大方
Mar 28 Javascript
jQuery获取注册信息并提示实现代码
Apr 21 Javascript
使图片旋转的3种解决方案
Nov 21 Javascript
JavaScript常用标签和方法总结
Sep 01 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
location.hash保存页面状态的技巧
Apr 28 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
Mar 02 Javascript
vue图片上传本地预览组件使用详解
Feb 20 Javascript
webpack打包html里面img后src为“[object Module]”问题
Dec 22 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实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
python获取图片颜色信息的方法
2015/03/18 Python
python处理二进制数据的方法
2015/06/03 Python
python提取字典key列表的方法
2015/07/11 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
Python enumerate内置库用法解析
2020/02/24 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
经典c++面试题六
2012/01/18 面试题
医学实习生自我鉴定
2013/12/12 职场文书
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
贸易跟单员英文求职信
2014/04/19 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS