草庐IT

Spring三级缓存

全部标签

javascript - 使用 ServiceWorker 的永久浏览器缓存

我正在设计一个JavaScript安全加载器。加载程序内嵌在index.html中。安全加载器的目标是只加载受信任的JavaScript资源。index.html的内容主要限于安全加载程序。出于安全考虑,我希望index.html(存储在缓存中)永远不会更改,即使我的网站被黑也是如此。如何在服务器无法篡改缓存的情况下缓存index.html?我想知道ServiceWorker是否可以提供帮助。实际上,index.html会注册一个serviceworker以从不可变缓存中获取自身(甚至不发出网络请求)。 最佳答案 在chrome中你

javascript - 如何过滤 chrome devtools 中的缓存请求?

背景Chrome开发工具的“网络”选项卡可以选择根据URL的字符串匹配和一些预定义的内容类型过滤器(CSS/JS/...)来过滤请求。如果您设置了过滤器,网络选项卡的底部栏将包含仅与匹配过滤器相关的额外信息。问题是否可以过滤由浏览器缓存提供(或不提供)的请求?用例如果有人有其他方法可以做到这一点:我想测量我的HTML-UI的“真实”请求计数/传输大小。网络选项卡的底部已经包含正确的传输大小,但是请求计数也包含缓存的请求。我可以使用wireshark/tcpdump但是,HTML-UI可以从其他域请求资源,也许我可以编写一个复杂的过滤器,但这似乎是一个正常的用例。

javascript - 我的页面是从浏览器缓存中加载的吗?

我在页面上有一个“新项目”徽章,我想在页面从缓存加载后立即更新(即点击“后退”或“前进”返回此页面时)。实现此目标的最佳方法是什么?设置非常简单。该应用的布局每8秒查找一次新项目,并相应地更新徽章+项目列表。$(function(){setInterval(App.pollForNewItems,8000);});当有人离开此页面查看某个项目的详细信息时,可能会发生很多事情。在任何用户查看它们之前,事物都是“新的”,并且该应用可能会有多个用户同时使用它(用于调用中心或支持票证的工作流类型)。为了确保徽章始终是最新的,我有:$(window).bind('focusload',funct

javascript - AngularJS ng-include缓存

我喜欢使用ng-include属性来包含模板。我想知道模板是否在多次使用相同的url时被缓存。//getrequesttemp.html//loadfromcache 最佳答案 缓存是通常使用的——但它不是在Angular的一部分,而是在浏览器的一部分。您可以通过运行Fiddler并查看页面加载时发生的情况来了解这一点。如果您从服务器返回304结果代码,则表示该页面没有更改-因此将从缓存中提取它。强制重新加载持续强制重新加载的唯一好方法是如下添加查询字符串(您可以将“i”替换为您想要的任何变量,数字只需要是随机的——而不是以前使用的

javascript - 如何缓存 mustache 模板?

我想缓存mustache模板。我知道我可以直接包含mustache模板,就像这样:{{title}}然后用javascript调用它们,像这样:varhtml,template,data;data={title:"Sometitle"};template=document.getElementById('mustache-template').innerHTML;html=Mustache.to_html(template,data);这不会缓存模板。我唯一能弄清楚的方法是使用链接标签,但是如何在没有ajax请求的情况下通过javascript调用模板内容?这行不通(当然)...HTM

避免缓存的Javascript版本控制,这些做法的区别?

如果我决定使用javascript或css文件的last_modified_time,并使用它的unix时间戳作为名称中的键,以便在修改文件时清除缓存。以下两种做法有什么区别?文件名是:my_script.js,时间戳是:13219518171/文件包含为:因此,查询字符串参数在每次v时都会创建一个新的缓存。被改变了。2/文件被包含为:文件名随每次修改而变化,重写规则删除时间戳并将请求的url指向my_script.js3/更新:基于以下答案的另一种方法:文件已重命名并包含为:文件名已更改且未使用重写规则。问题:这两种技术本质上是否相同,或者使用查询字符串参数而不是直接文件名有什么优点

javascript - 检查缓存的 jquery 对象是否仍在 DOM 中

有谁知道如何判断缓存的jQuery对象是否已经过时,例如不再在DOM中?例如:var$cached_elem=$('.the_button');//..andthenlater$cached_elem.text('updating...');我最近遇到了$cached_elem由于某些其他事件而从DOM中删除的情况。所以我想做什么:if($cache_elem.isStillInDOM()){//nowdotimeconsumingstuffwith$cached_eleminDOM}在任何人提供之前,我已经使用了这个,这与我正在尝试做的事情相当相似:if($cached_elem.i

javascript - jQuery .load() 没有触发图像(可能是缓存?)

我有一些非常基本的jQuery代码:...$(this).find('img').load(function(){loadedImages++;if(loadedImages==$this.find('img').length){...但是,这并不能持续触发。如果我执行硬刷新或关闭浏览器,它会触发,但正常刷新,或者只是在任何时候两次点击相同的URL而不清除缓存会使.load()永远不会触发。关于如何解决这个问题有什么想法吗? 最佳答案 我觉得这个hasbeendiscussedbefore.问题不在于缓存本身,而在于时间:图像可能在

javascript - 如何在 Ionic 中对图像和其他静态 Assets 进行指纹识别以清除缓存?

我在Ionicv3中扩展了默认的webpack配置以强制清除缓存。我能够对生成的JavaScript工件进行指纹识别,但无法对Assets文件夹下的图像和JSON文件进行指纹识别。我从Bundledfilesandcache-busting获得了帮助.webpackconfig.js的摘录module.exports={//...output:{filename:'[name].[chunkhash].js',chunkFilename:'[name].[chunkhash].js',},plugins:[newWebpackChunkHash({algorithm:'md5'})//

javascript - 在 Javascript 中缓存 Ajax 响应的可能技术有哪些?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我正在实现一个Javascript模块管理器,它通过XHR对象加载javascript文件。这种方法的问题是资源缓存:首先,XHR依赖内置的浏览器缓存机制,这没问题,但它的行为取决于浏览器的实现。还有一个localStorage和一个basket.js它使用localStorage来缓存下载的脚本,问题是存储空间有限,通常为5-10MB。此外,localStorage是许多脚本共享的地方,这些脚本也使用它