博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实用技巧:使用 jQuery 异步加载 JavaScript 脚本
阅读量:6071 次
发布时间:2019-06-20

本文共 1223 字,大约阅读时间需要 4 分钟。

  JavaScript 加载器在 Web 开发中是非常强大和有用的工具。目前流行的几个加载器,像 curljs、LABjs 和 RequireJS 使用都很广泛。他们功能强大的,但有些情况下可以有更简单的方案。

  如果你正在使用 ,有一个内置的方法可以用来加载脚本。如果你想延迟加载插件或任何其他类型的脚本,都可以使用这种方法。下面给大家介绍如何使用它。

实现方法

  jQuery 内置有 getScript 方法来加载一个脚本,处理返回的结果可以有几种方法来实现。最基本的用法 jQuery.getScript 看起来像这样:

jQuery.getScript("/path/to/myscript.js", function(data, status, jqxhr) {	/* 	  在脚本已载入并执行后,就可以做一些处理了	*/	});

  getScript 方法返回一个 jqXHR 对象,因此可以这样使用:

jQuery.getScript("/path/to/myscript.js")	.done(function() {		/* 执行成功后的处理 */	})	.fail(function() {		/* 执行失败后的处理 */});

  使用 jQuery.getScript 的最常见场景是延迟加载一个插件,并在加载后调用它:

jQuery.getScript("jquery.cookie.js")	.done(function() {		jQuery.cookie("cookie_name", "value", { expires: 7 });});

  如果你需要做更高级的事情,如加载多个脚本和不同类型的文件(文本文件,图像,CSS 文件等),我建议你切换到一个功能更强大的 加载器。如果只想延迟加载插件,而不是简单地在每个页面加载的情况下,getScript 是完美的!

缓存问题

  需要注意的是,当使用 jQuery.getScript 的时候,在脚本 URL 后面会自动被添加上时间戳,让脚本不缓存。因此你需要设置让所有的请求都缓存脚本:

jQuery.ajaxSetup({  cache: true});

  如果您不希望覆盖所有的缓存与你的 请求,最好使用 jQuery.ajax 方法并把 dataType 设置为 script,例如这样:

jQuery.ajax({      url: "jquery.cookie.js",      dataType: "script",      cache: true}).done(function() {		jQuery.cookie("cookie_name", "value", { expires: 7 });});

  在加载脚本的时候需要特别注意缓存问题!

 

您可能感兴趣的相关文章

  

英文链接: via davidwalsh

编译来源:

转载地址:http://jrngx.baihongyu.com/

你可能感兴趣的文章
^ 转义字符
查看>>
java面向对象入门之带参方法创建
查看>>
Eclipse反编译插件jad的安装
查看>>
动态加载swiper,默认显示最后一个swiper-slide
查看>>
css 让一张彩色的图片变成一张黑白图
查看>>
Git介绍和基本原理
查看>>
后缀数组 3160 最长公共子串
查看>>
计算机IDE接口与SATA接口的区别
查看>>
PLSQL_基础系列05_视图控制WITH CHECK OPTION(案例)
查看>>
[开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [二] 基本使用
查看>>
高级软件工程师技术要求
查看>>
centos6.9(Linux系统)安装VMware tools教程
查看>>
oracle树结构查询
查看>>
博客园首弹
查看>>
求数组元素的最大值
查看>>
学习:C#无标题窗体移动
查看>>
ajax学习笔记1
查看>>
c#进制转换
查看>>
vs中常用的快捷键
查看>>
CSS3中border-image属性详解
查看>>