簡體   English   中英

ASP.NET Core 2.1 - PWA(取消橫幅提示)

[英]ASP.NET Core 2.1 - PWA (Banner prompt be cancelled)

嘗試使用 ASP.NET Core 2.1,使用 Nuget: WebEssentials.AspNetCore.PWA制作漸進式 Web 應用程序。

我的 serviceworker 和清單顯示在 Chrome 開發工具中,但是當我點擊“添加到主屏幕”時,除了計算機上顯示的錯誤外,沒有任何反應,並且在手機上,頂部的加載橫幅卡在加載中。

錯誤:

站點無法安裝:頁面已請求取消banner提示

我似乎無法找到有關此錯誤的任何信息,所以希望你們能幫助我。 提前致謝。

服務工作者:

 self.addEventListener('install', async event => { const cache = await caches.open(CACHE_NAME); cache.addAll(urlsToCache).catch(err => console.log('An error occured: ', err)); }); self.addEventListener('fetch', event => { const request = event.request; const url = new URL(request.URL); if (url.orgin === location.orgin) { event.respondWith(cacheFirst(request)); } else { event.responseWith(networkFirst(request)); } }); async function cacheFirst(request) { const cachedResponse = await caches.match(request); return cachedResponse || fetch(request); } async function networkFirst(request) { const cache = await caches.open('wportal-dynamic-v1'); try { const res = await fetch(request); cache.put(request, res.clone()); return res; } catch (exception) { console.log('An error occured in networkFirst: ', exception); return await cache.match(request); } }

找到解決辦法了。。

 var deferredPrompt = null; window.addEventListener('beforeinstallprompt', (e) => { e.preventDefault(); // Prevent Chrome 67 and earlier from automatically showing the prompt deferredPrompt = e; });
 <button onclick="deferredPrompt.prompt();">Click me to install pwa</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM