PWA 通用 start_url

PWA generic start_url

我有一个也是 PWA 的 vue 应用程序。 PWA 按预期工作得很好,但问题是我正在为我的 Web 应用程序使用通用路径。这意味着要打开我使用路径 /test/${user} 的正确页面。这意味着当用户安装应用程序时,他会自动重定向到起始路径“website.com”而不是“网站。com/test/uniqueid”。所以我的问题是 - 是否可以在用户安装 PWA 时设置 start_url,这样当他启动应用程序时,它会将他直接重定向到“网站。com/test/uniqueid”

嗯,你想做的是:

  1. 将 PWA 保存到主屏幕 https://www.mypwa.com
  2. https://www.mypwa.com 是您的登录页面。
  3. 用户登录后,您重定向到 https://www.mypwa.com/user1001

我不知道它是否对其他人有帮助,但我发现这个 hacky 解决方案有效但它有一些缺陷 - 例如,如果用户删除了他的本地存储。

我为 'appinstalled' 添加了一个事件侦听器,基本上是检查用户何时安装 PWA 以及何时安装 localStorage 变量

window.addEventListener("appinstalled", () => {
            localStorage["istallURL"] = window.location.pathname;
        });

在那之后(在我的例子中)在根路径内的 router.js 中,我正在检查这个 localStorage 值是否存在,如果它存在,我将用户重定向到本地主机变量保存的路径

{
path: "/",
        name: "redirect",
        beforeEnter: (to, from, next) => {
            const installedFrom = localStorage["installURL"];
            if (installedFrom) {
                window.location.replace(installURL);
            } else {
                window.location.href = "https://youtube.com/";
            }
            next();
        },
}

应该很容易适应其他框架或非框架应用程序,在安装您的应用程序之前做同样的事情:)