使用jQuery动态加载js脚本文件的方法

 更新时间:2014年04月03日 10:58:54   作者:  
动态加载Javascript是一项非常强大且有用的技术。这方面的主题在网上已经讨论了不少,我也经常会在一些个人项目上使用RequireJS和Dojo加载js

它们很强大,但有时候也会得不偿失。如果你使用的是jQuery,它里面有一个内置的方法可以用来加载单个js文件。当你需要延迟加载一些js插件或其它类型的文件时,可以使用这个方法。下面就介绍一下如何使用它!

一、jQuery getScript()方法加载JavaScript

jQuery内置了一个方法可以加载单一的js文件;当加载完成后你可以在回调函数里执行后续操作。最基本的使用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的地方是延迟加载一个js插件,而且在加载完成时执行它:

复制代码 代码如下:

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

二、缓存问题

有一个非常重要的问题,使用jQuery.getScript时,你需要用一个时间戳字符串跟在需要加载的js地址后面,防止它被缓存。但是,如果你希望这个脚本被缓存,你需要设置全局缓存变量,像下面这样:

复制代码 代码如下:

jQuery.ajaxSetup({
  cache: true
});

复制代码 代码如下:

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

在加载脚本时一定要小心缓存问题!

相关文章

  • jquery自定义插件开发之window的实现过程

    jquery自定义插件开发之window的实现过程

    这篇文章主要介绍了jquery自定义插件开发之window的实现过程的相关资料,需要的朋友可以参考下
    2016-05-05
  • jQuery.form插件的使用及跨域异步上传文件

    jQuery.form插件的使用及跨域异步上传文件

    这个跨域异步上传功能我们借助了Jquery.form插件。接下来通过本文给大家介绍jQuery跨域异步上传文件的相关知识,感兴趣的朋友一起学习吧
    2016-04-04
  • 浅谈jQuery的offset()方法及示例分享

    浅谈jQuery的offset()方法及示例分享

    这篇文章主要介绍了浅谈jQuery的offset()方法及示例分享的相关资料,需要的朋友可以参考下
    2015-07-07
  • jquery通过name属性取值的简单实现方法

    jquery通过name属性取值的简单实现方法

    下面小编就为大家带来一篇jquery通过name属性取值的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • jQuery中的height innerHeight outerHeight区别示例介绍

    jQuery中的height innerHeight outerHeight区别示例介绍

    这篇文章主要介绍了jQuery中的height innerHeight outerHeight的区别,需要的朋友可以参考下
    2014-06-06
  • jquery 年会抽奖程序

    jquery 年会抽奖程序

    最近公司年会,有个流程要抽奖,特写了个一个简单的,纯jq代码,发给大家共享一下
    2011-12-12
  • 使用 jQuery 实现表单验证功能

    使用 jQuery 实现表单验证功能

    表单作为 HTML 最重要的一个组成部分,几乎在每个网页上都有体现,例如用户提交信息、用户反馈信息和用户查询信息等,因此它是网站管理者与浏览者之间沟通的桥梁。下面通过实例代码给大家介绍jQuery 实现表单验证功能
    2017-07-07
  • asp.net 30分钟掌握无刷新 Repeater

    asp.net 30分钟掌握无刷新 Repeater

    经过数个版本的迭代后, JQueryElement 3.3.0 版本中的 Repeater 基本上已经完善, 这里将分功能的总结讲解一下 Repeater 的使用方法.
    2011-09-09
  • jquery插件实现图片对比

    jquery插件实现图片对比

    这篇文章主要为大家详细介绍了jquery插件实现图片对比,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 基于Jquery和html5的7款个性化地图插件

    基于Jquery和html5的7款个性化地图插件

    现在我们经常会用到一些地图应用,无论是在网页上还是手机App中,地图貌似是一个不可或缺的应用。本文将带领大家一起来看看jQuery和HTML5的个性化地图插件,都是比较实用的,感兴趣的朋友一起学习吧
    2015-11-11

最新评论