Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获得;“添加到主屏幕”;要在my PWA的移动浏览器上显示的横幅?_Javascript_Service Worker_Progressive Web Apps - Fatal编程技术网

Javascript 如何获得;“添加到主屏幕”;要在my PWA的移动浏览器上显示的横幅?

Javascript 如何获得;“添加到主屏幕”;要在my PWA的移动浏览器上显示的横幅?,javascript,service-worker,progressive-web-apps,Javascript,Service Worker,Progressive Web Apps,我一直在尝试得到一个非常基本的PWA,它使用api来工作 当PWA在我的笔记本电脑上按预期工作时(包括添加到主屏幕时脱机工作), 在手机上看不到安装/添加到主屏幕的提示/横幅 该应用程序在手机上也不能脱机工作 这是服务人员代码: const cacheName='news'; 常量静态资产=[ './', “./app.js”, “./styles.css”, “./fallback.json”, ]; self.addEventListener('install',异步函数(){ const

我一直在尝试得到一个非常基本的PWA,它使用api来工作

当PWA在我的笔记本电脑上按预期工作时(包括添加到主屏幕时脱机工作), 在手机上看不到安装/添加到主屏幕的提示/横幅

该应用程序在手机上也不能脱机工作

这是服务人员代码:

const cacheName='news';
常量静态资产=[
'./',
“./app.js”,
“./styles.css”,
“./fallback.json”,
];
self.addEventListener('install',异步函数(){
const cache=wait caches.open(cacheName);
cache.addAll(静态资产);
});
self.addEventListener('activate',event=>{
event.waitill(self.clients.claim());
});
self.addEventListener('fetch',event=>{
const request=event.request;
constURL=新url(request.url);
if(url.origin==location.origin){
事件响应(cacheFirst(request));
}否则{
event.respondWith(networkFirst(request));
}
});
异步函数cacheFirst(请求){
const cachedResponse=等待缓存匹配(请求);
返回cachedResponse | | fetch(请求);
}
异步函数networkFirst(请求){
const dynamicCache=wait caches.open('news-dynamic');
试一试{
const networkResponse=等待获取(请求);
dynamicCache.put(请求,networkResponse.clone());
返回网络响应;
}捕捉(错误){
const cachedResponse=等待dynamicCache.match(请求);
return cachedResponse | | wait caches.match('./fallback.json');
}

}
您可以关注此问题。建议的解决方案之一是禁用Adblock

确认,如果我告诉Adblock不要在页面上运行,它会起作用


您是否针对@adelura运行了应用程序?当我审核heroku托管的版本时,发现一个审核错误:在跟踪中未找到navigationStart。但是,当我在我的xampp上运行时,我没有看到这个错误。如果您的范围是“/”,为什么要列出所有以点开头的资产?为什么不把它删掉呢?当然,这不应该有任何理由去改变任何事情,但是你真的不应该在那里需要点。另外:在manifest.json中,用小写字母S写入范围,如果起始url是索引,则使用“/”而不是“.”。