[英]Can I cache contents loaded by jQuery.getScript()
根据jQuery文档( https://api.jquery.com/jquery.getscript/ )使用更灵活的$.ajax()
方法,但它不适合我在这里描述( jQuery无法使用ajax加载插件文件)因此,调用插件函数会给出一些奇怪的结果 )
默认情况下,
$.getScript()
将缓存设置设置为false。 这会将带时间戳的查询参数附加到请求URL,以确保浏览器在每次请求时都下载脚本。 您可以通过使用$.ajaxSetup()
全局设置缓存属性来覆盖此功能:
$.ajaxSetup({
cache: true
});
但我需要缓存一些内容并非全部。
或者,您可以定义一个使用更灵活的
$.ajax()
方法的新方法。
它对我不起作用,因为它不保证按顺序加载文件。
现在,针对这种情况的最佳解决方案是什么?
$.getScript({
url: "foo.js",
cache: true
})
在jQuery 1.12.0或更高版本上受支持
将$.ajax
与dataType: 'script'
和cache: 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!');
}
});
这假设您的服务器正在响应浏览器缓存文件所需的标头。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.