从javascript加载和缓存脚本

时间:2016-08-29 16:09:41

标签: javascript jquery ajax caching

在我的项目中,我需要从javascript加载一个非常大的.js文件并缓存它。

我想从登录页面加载脚本文件,然后在所有其他页面中加载脚本以将脚本放在普通标记中,如<script src="assets/js/app.js"></script>

事实是,我尝试了3种不同的方法,但是每种方法都没有缓存文件,如果我更改页面,从登录到另一个,浏览器会再次下载。

在第一种方法中,我用javascript创建了一个元素,然后我将这个元素添加到了我的页面:

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
// Fire the loading
head.appendChild(script);

在第二部分中,我使用了jQuery的getScript

$.getScript('assets/js/app.js',function(){
    alert('OK');
});

在第三次我试着用ajax调用:

$.ajax({
    type: "GET",
    url: "assets/js/app.js",
    success: function(){},
    dataType: "script",
    cache: true
});

但是这些方法中没有一个似乎缓存脚本。 有没有办法获得它?

更新

我解决了这个问题。第一种方法有效。我忘了我在chrome的调试设置中检查了“禁用缓存”。 (我试过IE11,Firefox,Edge和Chrome)

1 个答案:

答案 0 :(得分:1)

您不能分享有关您项目的大量信息 我找到了一个页面,他们通过压缩和缓存你的js文件来解释如何加速js加载,看一看,你可能会发现它很有用

https://betterexplained.com/articles/speed-up-your-javascript-load-time/