【发布时间】:2015-06-03 20:27:05
【问题描述】:
根据 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()方法。
它对我不起作用,因为它不能保证按顺序加载文件。
现在这种情况的最佳解决方案是什么?
【问题讨论】:
-
getScript 得到一个脚本文件,你不能缓存它的一部分而不是其他部分
-
我需要缓存一些由 getScript 函数加载的脚本文件。我不想部分缓存文件。例如如果我加载 4 个脚本,可能需要缓存其中的 2 个。
-
“它对我不起作用,因为它不能保证按顺序加载文件。” 这没有任何意义。
$.getScript在内部使用$.ajax。如果$.ajax对你不起作用,$.getScript也不会。 (提示:$.getScript 也不保证加载顺序。) -
也许他正在使用
success来保证加载顺序。$.getScript('first.js').success(function(){$.getScript('second.js')})之类的东西 话虽如此,$.ajax也有success,所以我不知道它为什么重要。
标签: javascript jquery ajax file loading