提示第二次尝试在主屏幕中添加网络应用时不工作

时间:2018-05-07 17:05:41

标签: html5 google-chrome google-chrome-app service-worker manifest.json

尝试在Chrome最新浏览器的主屏幕中添加网络应用,它第一次正常访问但第二次无法正常工作,这意味着没有提示消息:

以下是我的代码:

  1. 创建了有效的清单json

  2. 在index.html中包含清单文件

  3. 并创建了service-worker.js

    self.addEventListener('fetch', function(event) {
          event.respondWith(
            caches.match(event.request).then(function(response) {
              if (response) {
                return response;
              }          
              return fetch(event.request).then(function(response) {
                return response;
              }).catch(function(error) {
                throw error;
              });
            })
          );
        });
    
  4. 在html页面中注册服务工作者

    if ('serviceWorker' in navigator) {
        console.log("Will the service worker register?");
        navigator.serviceWorker.register('service-worker.js')
          .then(function(reg){
            console.log("Yes, it did.");
          }).catch(function(err) {
            console.log("No it didn't. This happened: ", err)
          });
      }
    
  5. 情景:

    1. 我第一次点击网页,显示添加屏幕提示

    2. 在主屏幕中添加

    3. 卸载主屏幕页

    4. 我尝试再次点击网页,它没有显示添加屏幕提示

1 个答案:

答案 0 :(得分:2)

主屏幕上的图标只是Chrome浏览器的快捷方式,增加了风格(全屏,闪屏,方向等)。所以从技术上讲,你只是删除了快捷方式,而不是应用程序。

如果你点击烤肉串图标>信息图标>网站设置,您将能够看到Chrome仍然将其保存在设备中。真正卸载/删除它的唯一方法是点击Clear&重置按钮,这将使chrome认为该网站第一次被访问。

我认为"问题"这将是Chrome团队在浏览器中实现的一个很好的功能。通过"卸载" PWA也会清除并重置它。