2

我想在我的网站上“添加到主页按钮”。它在本地主机上工作得很好。

在部署版本上: - 初始屏幕不起作用 - 独立显示不起作用

我的清单.json:

{
  "name": "my name",
  "short_name": "my name",
  "icons": [{
    "src": "images/web_app_icon/48.png",
    "type": "image/png",
    "sizes": "48x48"
  },
  {
    "src": "images/web_app_icon/72.png",
    "type": "image/png",
    "sizes": "72x72"
  },
  {
    "src": "images/web_app_icon/96.png",
    "type": "image/png",
    "sizes": "96x96"
  },
  {
    "src": "images/web_app_icon/144.png",
    "type": "image/png",
    "sizes": "144x144"
  },
  {
    "src": "images/web_app_icon/168.png",
    "type": "image/png",
    "sizes": "168x168"
  },
  {
    "src": "images/web_app_icon/192.png",
    "type": "image/png",
    "sizes": "192x192"
  },
  {
    "src": "images/web_app_icon/512.png",
    "type": "image/png",
    "sizes": "512x512"
  }],
  "start_url": "/wta/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#1e88e5",
  "orientation": "any"
}

/js/addtohome.js:

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

服务工作者.js:

self.addEventListener('install', function(event) {
    console.log("installed");
});

self.addEventListener('activate', function(event) {
      // Perform some task
    console.log("activated");
    });

self.addEventListener('fetch', function(event) {
    console.log("fetched");
      event.respondWith(
        fetch(event.request).catch(function() {
          return caches.match(event.request);
        })
      );
    });

似乎一切在 chrome 开发工具中都可以正常工作。为什么它只能在 localhost 上工作?THX

4

0 回答 0