【问题标题】:Failure Uninstalling PWA from Android 8从 Android 8 卸载 PWA 失败
【发布时间】:2020-01-18 20:41:50
【问题描述】:

我开发了一个 PWA - jcoonrod.github.io - 当我卸载它时 - 清除浏览器缓存 - 然后尝试转到该页面并重新安装它,我只看到旧版本 - 缓存似乎超过了PWA。如何在 android 上完全删除缓存的 PWA 文件?

【问题讨论】:

    标签: android progressive-web-apps


    【解决方案1】:

    如果你想清除 service worker 的存储,你可以通过你使用的浏览器的开发工具,或者通过代码来完成:

    // To unregister a service worker
    navigator.serviceWorker.getRegistration()
       .then(function(registration) {
           if(registration){
              registration.unregister()
              .then(
                   function(success) {
                     // if success = true, unregister was successful
                    });
              }
        });
    
    // To remove the SW storage
    if ('caches' in window) {
        caches.keys()
          .then(function(keyList) {
              return Promise.all(keyList.map(function(key) {
                  return caches.delete(key);
              }));
          })
    }
    

    caches.keys() 方法返回 CacheStorage 的键,该接口表示服务工作者可以访问的 Cache 对象的存储。

    我写了an article about Service Workers and caching strategies,以及如何清除存储的数据,你可以看看。

    【讨论】:

    • 我猜你不是指我在 Android 上使用的浏览器,因为它没有开发工具 - 你必须通过 USB 链接它进行远程调试,如 developers.google.com/web/tools/chrome-devtools/… 中所述??跨度>
    • 是的,我指的是使用 Dec 工具的“PC”解决方案。但代码部分适用于任何解决方案。
    猜你喜欢
    • 2014-03-12
    • 2012-11-12
    • 1970-01-01
    • 2011-07-25
    • 2020-03-14
    • 2017-05-27
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多