You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
functionrevalidateContent(cachedResp,fetchedResp){// revalidate when both promise resolvedreturnPromise.all([cachedResp,fetchedResp]).then(([cached,fetched])=>{constcachedVer=cached.headers.get('last-modified')constfetchedVer=fetched.headers.get('last-modified')console.log(`"${cachedVer}" vs. "${fetchedVer}"`);if(cachedVer!==fetchedVer){sendMessageToClientsAsync({'command': 'UPDATE_FOUND','url': fetched.url})}}).catch(err=>console.log(err))}
是使用资源的 last-modified 是否有变化来决定是否通知用户页面有更新,但是这里有个问题是,假设我只是修改了 about 页面,当我打开首页的时候,也会收到页面更新的通知;然后,我再打开 about 页面,依然会收到页面更新的通知。
看到
sw.js
里面有这么一个逻辑:是使用资源的
last-modified
是否有变化来决定是否通知用户页面有更新,但是这里有个问题是,假设我只是修改了about
页面,当我打开首页的时候,也会收到页面更新的通知;然后,我再打开about
页面,依然会收到页面更新的通知。更糟的是,只要我更新了任意一个
page
或者post
,打开任意一个页面的时候,都会提醒我需要更新页面,点了更新之后,再打开其他页面,还是会让我更新页面。那么:
index
或者page1
orpage2
提醒更新呢?更新
即可,之后后续再打开任意页面都不会再提醒有更新呢?另外:
我是使用了 build 后的位于 _site 下的文件放在了 GithubPages,没有直接将源码暴露出来,二者在两个仓不同的仓库中,每次 源码 build 后会
-force
更新 GithubPages 的内容:https://github.com/Xheldon/x_blog@Huxpro
谢谢!
The text was updated successfully, but these errors were encountered: