Javascript 我可以缓存jQuery.getScript()加载的内容吗

Javascript 我可以缓存jQuery.getScript()加载的内容吗,javascript,jquery,ajax,file,loading,Javascript,Jquery,Ajax,File,Loading,根据jQuery文档()使用更灵活的$.ajax()方法,但它不适用于本文()中描述的我 默认情况下,$.getScript()将缓存设置设置为false。这 将带时间戳的查询参数附加到请求URL以确保 每次请求脚本时,浏览器都会下载该脚本。你 可以通过使用全局设置缓存属性来覆盖此功能 $.ajaxSetup(): 但我需要缓存一些内容,而不是全部内容 或者,您可以定义一个使用更多 灵活的$.ajax()方法 它对我不起作用,因为它不能保证按顺序加载文件 现在,对于这种情况,最好的解决方案是什么

根据jQuery文档()使用更灵活的
$.ajax()
方法,但它不适用于本文()中描述的我

默认情况下,
$.getScript()
将缓存设置设置为false。这 将带时间戳的查询参数附加到请求URL以确保 每次请求脚本时,浏览器都会下载该脚本。你 可以通过使用全局设置缓存属性来覆盖此功能
$.ajaxSetup()

但我需要缓存一些内容,而不是全部内容

或者,您可以定义一个使用更多 灵活的
$.ajax()
方法

它对我不起作用,因为它不能保证按顺序加载文件


现在,对于这种情况,最好的解决方案是什么?

$.ajax
数据类型一起使用:'script'
缓存:true

$.ajax({
    cache: true,
    url: 'foo.js',
    dataType: 'script', // optional, can omit if your server returns proper contentType for js files.
    success: function () {
        console.log('Hello World!');
    }
});
这假定您的服务器使用浏览器缓存文件所需的标题进行响应

$.getScript({
    url: "foo.js",
    cache: true
})

jQuery 1.12.0或更高版本支持

getScript获取脚本文件,您不能缓存其中的一部分,而不是另一部分。我需要缓存getScript函数加载的少量脚本文件。我没有尝试部分缓存文件。e、 如果我加载4个脚本,其中2个可能需要缓存。“这对我不起作用,因为它不能保证按顺序加载文件。”这毫无意义<代码>$。getScript正在内部使用
$.ajax
。如果
$.ajax
不适合您,那么
$.getScript
也不适合您。(提示:$.getScript也不保证加载顺序。)可能他正在使用
success
来保证加载顺序。类似于
$.getScript('first.js').success(function(){$.getScript('second.js')})
的东西已经说过了
$.ajax
也有
成功
,所以我不知道为什么这很重要。
$.getScript({
    url: "foo.js",
    cache: true
})