当前位置:  编程技术>WEB前端

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

    来源: 互联网  发布时间:2014-08-25

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

它们很强大,但有时候也会得不偿失。如果你使用的是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 });
});

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

    
 
 

您可能感兴趣的文章:

  • shell 脚本中命令别名在脚本外无法使用
  • nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
  • 关于unix使用参数导致脚本输出异常(与脚本内直接带参数输出结果不同)
  • 如何在Linux下使用脚本实现程序的自动重启!望各位详解!
  • 大家好,我想问下有人用过"linux进程的内存使用解析"中推荐使用的"Ben Maurer写的perl脚本"查看内存么
  • 如何在使用命令行去修改系统脚本?
  • 有没有方法可以使用脚本批量修改bash环境变量
  • 如何在shell脚本中使用source命令?
  • Ubuntu下Shell脚本中[]的使用
  • 使用脚本向进程发出命令
  • linux使用shell脚本,如何创建用户,并设置用户密码?能否给出示例?
  • 急!!!AIX上监控CPU和内存使用率的脚本
  • linux系统使用python获取内存使用信息脚本分享
  • linux下使用shell脚本编译java报错?
  • oracle使用sql脚本生成csv文件案例学习
  • ORACEL使用脚本来修改表结构
  • shell脚本参数使用问题
  • 使用iconv批量改变文件编码的shell脚本
  • 使用sh脚本如何替换指定目录下所有文件中的指定字符串
  • 求助:使用sh脚本,把文件1.txt中的A都替换成B
  • 在线等待!请文中怎么使用WebLogc的类加载器加载一个类?
  • 使用非root用户加载模块出错
  • 我的网卡正确的加载和使用了。但是有错误!请指教
  • 请问加载动态snmpd扩展模块时使用的命令#./snmpd –f –L –DXXX,DLmod参数的含义是什么?
  • 使用2.6.25内核request_firmware函数加载firmware失败,错误-2(ENOENT)
  • 关于在QT环境下加载gif图片的问题(可以显示,但是只有使用终端启动可执行文件才能显示,双击执行却不显示)这是为什么?
  • 在线等~~如何在使用加载模块的方法加入系统调用。
  • Jquery图片延迟加载插件jquery.lazyload.js的使用方法
  • 使用jQuery异步加载 JavaScript脚本解决方案
  • Oracle 高速批量数据加载工具sql*loader使用说明
  • 使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 在ACC变成中要使用发ftp传送文件,但文件名不确定,请问怎么样在程序的FTP中使用字符串变量???
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • qemu使用的img文件和vm使用的img文件格式不同吗?
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限
  • 为什么使用cat输出的文本文件是中文的,使用java从文件读取出来时显示的是乱码?
  • 怎样使用FTP递归获取文件夹下的所有文件及子文件夹?
  • GUI问题:如何使用文件选择对话框保存文本文件,图像文件??
  • linux下用什么命令使用怎样使用*.bin文件?
  • 急问:在linux里面怎么察看一个文件夹或文件有哪些用户在使用?
  • *.taz文件是什么文件?如何使用?
  • 使用TCP传输文件,文件传输成功了,大小也一样,但无法打开
  • 有没有办法在打开一个文件之前判断当前是否有进程在使用(读或写)该文件
  • 急!!求教linux命令的使用:统计出/bin目录中文件的个数,追加到文件filea的结尾
  • 高手请进:linux下使用.o文件,makefile文件的问题
  • linux下静态库使用:"未使用链接器输入文件,因为链接尚未完成"
  • vim生成的.cpp~是什么文件?我使用vim编辑的时候出现了好多.cpp~文件
  • *.db文件使用什么数据库打开的文件呀?
  • 如何使用arm-uclibc-gcc将.c文件编译生成.a,将.c文件编译生成.cgi?
  • 几台机器做lvs,使用100M 网线连接,文件系统使用NFS共享,读写速度会出现问题吗?
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    移动开发 iis7站长之家