在PWA中将旧网址更新为新网址

时间:2019-06-20 08:43:57

标签: progressive-web-apps

我正在尝试将PWA应用程序的start_url从一页更改为另一页,但需要了解其工作原理。任何人都可以告诉我我的PWA应用程序用户(使用旧的start_url)的用户将会怎样。在老用户可以获取更新后的start_url之后,是否会发生某种更新?

例如: 具有旧start_url的PWA:www.testweb.com/oldurl 带有新的start_url的PWA:www.testweb.com/newurl

在我更改start_url之后,具有旧URL的PWA的用户将获得任何URL。

1 个答案:

答案 0 :(得分:0)

对于 Chrome,这取决于您使用的是桌面设备还是移动设备。在桌面上,更改 start_url 不会有任何影响,但在 Android 上,它应该在一两天内更新。有关清单更改如何影响已安装 PWA 的详细信息,请参阅 How Chrome handles updates to the web app manifest

我的建议是不要更改 start_url,而是使用 Service Worker 将浏览器重定向到新页面。例如,您可以使用以下内容:

self.addEventListener('fetch', (event) => {
  // Check if URL is old start_url, if so redirect to new URL
  if (event.request.url.endsWith('/previous/start_url.html')) {
    const resp = Response.redirect('/new/start_url.html', 301);
    event.respondWith(resp);
  }
});