-
-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
showInstallPrompt not being called #130
Comments
Try adding this to your nuxt.config.ts:
|
Similar issue for me as well, and I have the nuxt.config.ts, with above two options are enabled |
You can try using @vite-pwa/create-pwa, select Vue then Nuxt or Nuxt 4 and follow the prompts. |
I have a similar issue. I see that our pwa client support
Here is the corresponding source code of our pwa client. I have no idea what happens. if (!hideInstall.value) {
let deferredPrompt;
const beforeInstallPrompt = (e) => {
e.preventDefault();
deferredPrompt = e;
showInstallPrompt.value = true;
};
window.addEventListener("beforeinstallprompt", beforeInstallPrompt);
window.addEventListener("appinstalled", () => {
deferredPrompt = void 0;
showInstallPrompt.value = false;
});
cancelInstall = () => {
deferredPrompt = void 0;
showInstallPrompt.value = false;
window.removeEventListener("beforeinstallprompt", beforeInstallPrompt);
hideInstall.value = true;
localStorage.setItem(installPrompt, "true");
};
install = async () => {
if (!showInstallPrompt.value || !deferredPrompt) {
showInstallPrompt.value = false;
return;
}
showInstallPrompt.value = false;
await nextTick();
deferredPrompt.prompt();
await deferredPrompt.userChoice;
};
} |
The sw needs to be installed, once installed the beforeibstallprompt should be called. When the sw finish download the precache manifest assets (offline support) the showInstallPrompt should be activated (the sw must be green in the dev tools). About the error, what browser are you using? |
Thanks for the clarify. I'm using Chrome (Version 130.0.6723.59) on MacOS 14.6.1. I'm sure I enabled the pwa in the dev mode so I think the sw could work. |
I dont use macOS, if chrome still using webkit will not work, try on Safari but iirc won't work |
Chrome in macOS using blink (chromium). It using webkit on mobile devices such as iOS or iPadOS. |
I was hooking up my install button something like this:
v-if="$pwa && $pwa.showInstallPrompt && !$pwa.needRefresh"
I know the beforeinstallprompt listener can be finicky so I just waited it out. Finally I put the listeners in manually like so:
The text was updated successfully, but these errors were encountered: