在我的项目中,我需要从 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)
最佳答案
您没有分享太多有关您的项目的信息。
我找到了一个页面,他们解释了如何通过压缩和缓存 js 文件来加速 js 加载,看一下,你可能会发现它很有用
https://betterexplained.com/articles/speed-up-your-javascript-load-time/
关于javascript - 从 javascript 加载和缓存脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39210628/