jQuery继续在我的CDN脚本中放置缓存破坏程序?

时间:2014-12-26 22:52:26

标签: javascript jquery html caching

我有一个脚本使用$.get( ... )从我的服务器中提取一段HTML,并使用<div>$.html内进行渲染。有时我在拉动的HTML中有<script>个标签,我注意到jQuery在这些脚本的请求中放了一个缓存buster参数,它导致浏览器再次请求已经加载的脚本

例如:

enter image description here

知道如何禁用此行为吗?

脚本标记没有附加_参数,因此我的HTML不是问题。

此外,使用<script>呈现的$.html代码并未表现出此行为。

1 个答案:

答案 0 :(得分:4)

当jQuery在HTML中看到<script src="URL">标记时,它会在内部使用$.getScript()来加载脚本。默认情况下,这会发送一个缓存清单,但您可以通过调用$.ajaxSetup()来覆盖默认的AJAX选项。

$(document).ready(function () {
    $.ajaxSetup({
        cache: true
    });
    var x = '<script src="https://d9zdvmiwibsh5.cloudfront.net/js/json.js">';
    $('#test').html(x);
});

DEMO