根据jQuery文档(https://api.jquery.com/jquery.getscript/),使用更灵活的$.ajax()
方法,但它对我来说不起作用(jQuery cannot load plugin file using ajax before calling the plugin function, thus, gives kind of weird result)
默认情况下,
$.getScript()
将缓存设置设置为false。这个 将带时间戳的查询参数附加到请求URL以确保 浏览器每次请求时都会下载脚本。您 可以通过全局设置缓存属性来覆盖此功能$.ajaxSetup()
:
$.ajaxSetup({
cache: true
});
但我需要缓存一些内容,而不是全部。
或者,您可以定义一个使用更多的新方法 灵活的
$.ajax()
方法。
它对我不起作用,因为它不保证按顺序加载文件。
现在这种情况的最佳解决方案是什么?
答案 0 :(得分:2)
$.getScript({
url: "foo.js",
cache: true
})
在jQuery 1.12.0或更高版本上受支持
答案 1 :(得分:1)
将$.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!');
}
});
这假设您的服务器正在响应浏览器缓存文件所需的标头。