动态加载Javascript是一项非常强大且有用的技术。这方面的主题在本站已经讨论了不少,我也经常会在一些个人项目上使用 RequireJS和Dojo加载js。它们很强大,但有时候也会得不偿失。如果你使用的是jQuery,它里面有一个内置的方法可以用来加载单个js文 件。当你需要延迟加载一些js插件或其它类型的文件时,可以使用这个方法。下面就介绍一下如何使用它!
jQuery 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 }); });
如果你需要更高级的功能,比如加载多个脚本,或加载不同类型的文件(文本文件,图片,css等),我建议你使用一个专门的JavaScript加载工具。如果是为了延迟加载一个js插件,避免每个页面都去加载,这个getScript
很完美了。
缓存问题
有一个非常重要的问题,使用jQuery.getScript
时,你需要用一个时间戳字符串跟在需要加载的js地址后面,防止它被缓存。但是,如果你希望这个脚本被缓存,你需要设置全局缓存变量,像下面这样:
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 }); });
在加载脚本时一定要小心缓存问题!
相关推荐
如果你正在使用 jQuery,有一个内置的方法可以用来加载脚本。如果你想延迟加载插件或任何其他类型的脚本,都可以使用这种方法。下面给大家介绍如何使用它。 实现方法 jQuery 内置有 getScript 方法来加载一个脚本,...
如果你使用的是jQuery,它里面有一个内置的方法可以用来加载单个js文件。当你需要延迟加载一些js插件或其它类型的文件时,可以使用这个方法。下面就介绍一下如何使用它! 一、jQuery getScript()方法加载JavaScript ...
Firebug控制台动态加载jquery脚本并执行jquery代码
jquery-min是加载jquery必备文件脚本
一个简单的懒加载样例代码,可以根据滚动窗口在加载相关程序,可以降低页面压力,加快打开速度
bootstrap-3.3.7-dist 中的 jquery-3.3.1.min.js 代码写js特效
本文实例讲述了jquery及js实现动态加载js文件的方法。分享给大家供大家参考,具体如下: 问题: 如果用jquery append直接加载script标签的话,会报错的。除了[removed]外,还有没有其他的比较好的动态加载js文件的...
微软压缩版引用地址: <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.6.1.min.js"> 官网jquery压缩版引用地址: <script src="https://code.jquery....程序员编程前端脚本文件压缩包Jquery
环境:vs2019、.net 4.6。 WinForm窗体程序中使用CefSharp获取加载后的资源、截取request参数、拦截response数据、注入jquery文件和js代码。有问题可联系q369628105
幸运的是,jQuery提供了一个内置的实用函数,$getScript()为我们提供了这样的方法。来实现在网页动态的功能。... 如何使用呢看下面的方法 我们创建一个new.js 脚本文件 代码如下: var testVar = ‘New JS load
Basket.js 是一个简单的(概念)脚本加载器,是本地存储(localStorage)的缓存脚本。// fetch and cache the file basket.require({ url: 'jquery.min.js' }); // fetch and cache again basket....
微软压缩版引用地址: <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.min.js"> 官网jquery压缩版引用地址: <script src="https://code.jquery....程序员编程前端脚本文件压缩包Jquery
1、jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本, 第一种(比较常用): 代码如下: $.function(){ alert(“第一种方法”); }); 第二种: 代码如下: $(document).ready(function(){ ...
由于目前高校基本尚未开JavaScript的相关课程,目前jQuery的学习,使用,研究都仅限于在职Web程序员之间。 用jq的前提,首先要引用一个有jq的文件 [removed][removed] 这个是jquery官方最新的地址。可用在自己网站...
NyarukoPlayer 是一个为网页增加动态背景图和歌词音乐的基于 jQuery 的 JavaScript 脚本。 是一些背景视频的替代品,可以让流量少很多的同时保证清晰。 功能 配置存储特性 使用单独的 JSON 存储全局配置,包括: ...
一个可自定义Loading参数的jquery加载动画插件,这个插件是用来生成网页进度条的,但最大的亮点是它可以调节Loading的很多参数,比如Loading动画图标的大孝Loading图标的动画频率、阴影效果、线条长度、线条数量多少...
jQuery是一套Javascript脚本库. 在我的博客中可以找到"Javascript轻量级脚本库"系列文章. Javascript脚本库类似于.NET的类库, 我们将一些工具方法或对象方法封装在类库中, 方便用户使用. 注意jQuery是脚本库, 而...
从jQuery依赖项列表中删除jquery-migrate.js脚本,以使其在不需要时不会在前端加载。 安装 上载 从GitHub下载。 转到WordPress管理面板中的插件→添加新屏幕,然后点击“添加插件”标题旁边顶部的上传按钮。 上载...