gpt4 book ai didi

javascript - jQuery 将查询字符串添加到脚本加载?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:00 25 4
gpt4 key购买 nike

将此 js 添加到我的页面:

$("#divExample").append("<script type='text\/javascript' src='\/scripts\/test_code.js'><\/script>");

导致请求:

http://.../scripts/test_code.js?_=1395691742415

我需要删除查询字符串,因为它会阻止 js 文件被缓存。我最好的猜测是,这在某种程度上连接到 jQuery ajax,它在执行某些类型的调用(例如 jsonp)时附加相同样式的查询字符串。

我这样做的背景:我需要推迟脚本加载(这实际上是一个更大的 js block 的一部分),直到页面就绪事件完成。以上只是显示相同症状的缩减示例。

目前正在使用 jQuery 1.8.3,但我真的希望答案不包括升级,因为这会扰乱依赖关系。

最佳答案

将 jQuery 缓存全局设置为 true以防止这种情况。

$.ajaxSetup({
cache: true
});

尽管这看起来只是针对 ajax 的配置,但它会影响 <script>像您正在使用的标签。

如果您不想将全局应用到所有 ajax 请求,您可以使用纯 Javascript(无 jQuery)来实现:

var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'test.js';
document.getElementById("divExample").appendChild(s);

第三个选项是您可以使用 $.ajax像这样导入脚本:

$.ajax({
url : 'test.js',
type : 'script',
cache : true,
success : function(){

}
});

关于javascript - jQuery 将查询字符串添加到脚本加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com