据我所知,服务人员有自己的缓存。HTTP流量有一个单独的缓存。
脱机时,浏览器拒绝从HTTP缓存向您显示网站,但很乐意从Service Worker缓存向您显示网站。
我每天更新我的网站很多次(只有文件的内容,网址保持不变)。我的HTTP缓存设置为一小时。
我想提供离线模式。但是在线时,网站应该总是从服务器加载(或者从1小时的HTTP缓存加载)。
我应该为此类服务人员使用什么代码?我相信这里没有描述:https://web.dev/offline-cookbook
基于您的用例,我想说您可以使用“网络优先”
方法。
self.addEventListener(’fetch’, function (event) {
event.respondWith(
fetch(event.request).catch(function() {
return caches.match(event.request)
})
)
})
在获取事件处理程序中,我们正在执行以下操作:-
fetch
方法从服务器获取数据
catch
处理程序以防网络故障,并从缓存中获取数据。(在<代码>脱机<代码>状态下,将显示此选项)
注意:-我们假设您正在service worker的安装事件中缓存数据。如果您没有,那么我们也可以在
fetch
事件中执行此操作。
问题内容: 从我的根目录删除后,Chrome仍然运行我从Webroot中删除的服务工作者。如何从我的网站和Chrome卸载服务工作者,以便可以重新登录我的网站? 我已将问题归结为ServiceWork的缓存机制,我只想暂时将其删除,直到有时间对其进行调试为止。我正在使用的登录脚本将重定向到Google的服务器,以便他们登录其Google帐户。但是,我从login.php页面获得的只是一条消息。 问
从根目录中删除后,Chrome仍然运行我从webroot中删除的服务工作者。我如何从我的网站和Chrome卸载服务工作者,以便我可以重新登录到我的网站? 我已经将问题追溯到Service Work的缓存机制,我现在只想删除它,直到我有时间调试它。我正在使用的登录脚本重定向到谷歌的服务器,以便他们登录到他们的谷歌帐户。但是我从login.php页面得到的只是一条消息。
因此,清单已被弃用,试图在express web应用程序中实现服务工作者。这是我的项目结构: 在我的express应用程序中,我使用的公用文件夹如下: 登录。呈现的ejs模板 注册成功。 和西南部。js 安装 当同一个应用程序重新加载或页面导航时,读取不会触发,也不会从服务工作者加载数据,总是从服务器加载。 但是当我尝试在不同的浏览器选项卡中使用例如:从服务人员的提取中加载。 当我研究时,我了解了
问题内容: 我有一个URL,用于保存我的工作中的一些项目,它们大部分是MDB文件,但也有一些JPG和PDF。 我需要做的是列出该目录中的每个文件(已完成)并为用户提供下载它的选项。 使用PHP如何实现? 问题答案: 要读取目录内容,可以使用readdir()并使用脚本(在我的示例中)来下载文件 在其中,您可以强制浏览器发送下载数据,并使用basename()来确保客户端不会传递其他文件名,例如
我注意到,当服务工作人员脚本本身加载到浏览器中时,不再触发服务工作人员的读取事件。例如,当我们有一个新版本的服务辅助角色时,旧的服务辅助角色读取事件不会被触发。因此,旧的服务工作者不能再检查新服务工作者的内容。 我确信这以前是可能的,我想知道这是否是一个bug,或者是否对此进行了任何更改。我在官方存储库或W3C草稿中没有找到与此更改相关的任何内容。 为了验证fetch事件没有被触发,我用版本号(参
我正在尝试将大量文件从服务器A传输到服务器B。我已经在A上设置了FTP(使用FileZilla)。 当我尝试从PC连接到A时,它工作正常。但当我尝试从B连接到A时,它不起作用。FTP用户登录,但目录列表命令一直处于停滞状态。 防火墙端口21已打开。我尝试了多台服务器、不同的FTP客户端,但没有用。除了FileZilla,我还尝试了内置FTP服务的ISS,得到了相同的结果。 使用相同凭据从本地完美连