如何延迟加载

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

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

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

?


1

2

3

4

5

6

7

8

9

10

<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帮助页面的推荐方案。

?


1

2

3

4

5

6

7

8

9

10

11

12

13

//这些代码应被放置在</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代码,应放在一个外部文件,然后再引进来。

原文地址:https://www.cnblogs.com/superclound/p/11261500.html

时间: 2024-11-09 01:42:36

如何延迟加载的相关文章

关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )

PO 即Persistence Object VO 即Value Object PO 和VO 是Hibernate 中两个比较关键的概念. 首先,何谓VO,很简单,VO 就是一个简单的值对象. 如: TUser user = new TUser(); user.setName("Emma"); 这里的user 就是一个VO.VO 只是简单携带了对象的一些属性信息. 何谓PO? 即纳入Hibernate 管理框架中的VO.看下面两个例子: TUser user = new TUser()

懒加载(延迟加载)之后,在使用数据过程中容易出现的bug

在UI中,使用懒加载,也就是延迟加载来加载数据的时候,总是会面临几个问题? 如:1. >为什么先创建NSArray属性? 2. >为什么重写NSArray的get方法? 3.>为什么要判断是否为空? 4.>为什么下方代码"//1"这里不用NSString stringWithFormat: 而"//2"这里要使用? 5.>同时"//2"这里为什么使用的是%ld 来作为占位符? 这些问题不搞懂,懒加载就很难通透,  代

图片延迟加载——例子

<!doctype html> <html> <head> <meta charset="utf-8"> <title>图片延迟加载</title> </head> <style> * {margin:0; border:0; padding:0;} div {width:800px; height:280px; margin-bottom:200px;} </style> &l

hibernate之4.延迟加载

延迟加载: 只有当使用以实体对象的属性(除主键属性外)时,才会发送查询语句到数据库 get不支持延迟加载 @Test public void getTest(){ Session session=null; Student student=null; try{ session=HibernateUtil.openSession(); student=(Student) session.get(Student.class, 3); System.out.println("id:"+stu

懒加载(延迟加载)

懒加载FatchType.LAZY也称为延迟加载,是Hibernate3关联关系对象默认的加载方式,所谓懒加载就是当在真正需要数据的时候,才真正执行数据加载操作.简单理解为,只有在使用的时候,才会发出sql语句进行查询.懒加载的有效期是在session打开的情况下,当session关闭后,会报异常.当调用load方法加载对象时,返回代理对象,等到真正用到对象的内容时才发出sql语句. 急加载FatchType.EAGER 也成为立即加载,时立即执行sql语句.在session没有关闭的之前,如果

查询复杂对象用respsbody转换成json串时,mybatis的延迟加载报错的解决方法

在查询数据时,如果你查询的是复杂的对象需要通过respsbody转换成json串时,mybatis用的延迟加载会报以下错误: 解决方法:第一步在RequestMapping(参数中加入 produces =  "application/json")表示将功能处理方法将生产json格式的数据,此时根据请求头中的Accept进行匹配,如请求头"Accept:application/json"时即可匹配.第二步:在实体类中前面加上注解@JsonInclude(JsonIn

MyBatis应用开发(16)延迟加载之概念

1.1.1. 延迟加载的概念 延迟加载是指在存在关联关系时,在加载主表数据时,仅仅加载主表数据到映射的Java Bean对象中,而不会立即将关联的子表数据加载到存在关联关系的从属Java Bean中.在访问到关联的Java Bean的有关方法时,才会加载子表到关联的从属Java Bean中. 使用嵌套查询时,MyBatis支持延迟加载功能. MyBatis提供了2种方式控制延迟加载与否. 方式一:在SqlMapConfig.xml文件中使用3个setting结点控制整个程序中的associati

hibernate延迟加载(get和load的区别)(转)

在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,在查询性能上两者是不同的. 一.load加载方式 当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load()方法来加载一个对象时,此时并不会发出sql语句,当前得到的这个对象其实是一个代理对象,这个代理对象

提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载

要求:手机端打开某个页面的详细信息,因为网速或者别的原因,响应太慢,因为图片大的原因,希望先进来,图片在网页运行的情况再慢慢加载(jquer延迟加载) http://www.w3cways.com/1765.html()  困难:因为页面的图片是用编辑器加进去的        :图片与文字存到数据库的字段中 :实现思路:从数据库中读取这个字段,把字段里面的src替换成lazyload 然后再返回给页面 这里主要讲是怎么把从数据库取到的数据里面的字段里面的值替换然后与页面直接的数据转换 首先 pu

MyBatis学习--延迟加载

简介 在resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能.例如:我们查询订单并且关联查询用户信息.如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息.把对用户信息的按需去查询就是延迟加载. 延迟加载:先从单表查询.需要时再从关联表去关联查询,大大提高 数据库性能,因为查询单表要比关联查询多张表速度要快. association实现延迟加载 如果我们查询订单