jQuery.fn.load 或 html 写入 script 标签, 怎样不让它给 URL 自动添加 _=随机数?即开启缓存.

如题,我需要动态加载一块 HTML,里面有个 script 标签,此 script 为静态文件,响应头 Etag,Expires,Last-Modified 等一切俱全。问题肯定不在服务端,是 jQuery 总是会给请求增加一个 _=随机数,导致不能使用浏览器缓存。如果是自行调用 ajax 可以用 cache:true 来开启缓存,但是这个 script 的加载过程是在 jQuery load->ajax->html... 这里面再处理的,不知道怎么控制,希望知道的朋友告知一下。

// 测试代码:
$(document.body).append('<script type="text/javascript" src="https://cdn.bootcss.com/echarts/3.6.2/echarts.js"></script>');
// jQuery 版本 v1.11.3

谢谢!

阅读 4k
2 个回答

你可以先设置一个script的空标签,src="",后面再通过选中该元素将其src的值改为你的目标脚本链接即可

发现 jQuery.ajaxSetup({cache:true}) 有效。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题