progressive-web-apps相关内容

Service Worker 未使用 nodejs 服务器在离线模式下运行

我一直在创建新项目 PWA.当我开发时不使用节点 js(socket.io 运行)只是像我预期和需要的那样离线运行. 但是当与 nodejs 服务器集成时.上网时,应用程序运行良好不会出现任何问题.但是当我切换到离线模式时,我的服务没有运行,而是显示离线浏览器. 这是我的代码节点js服务器: var express = require('express');var app = e ..
发布时间:2021-06-21 20:37:48 其他开发

如何在 React PWA 中将数据从 API 缓存到缓存存储?

我使用 ReactJS 构建了一个渐进式 Web 应用程序,但遇到了问题.我正在使用 mockApi 来获取数据.离线时,我的应用程序不起作用,因为 Service Worker 仅缓存静态资产. 如何将来自 mockApi 的 HTTP GET 调用保存到缓存存储中? 解决方案 除了静态资源,您还可以定义要缓存的 URL: var CACHE_NAME = 'my-cache_n ..
发布时间:2021-06-21 20:37:45 其他开发

渐进式 Web 应用程序中的后台事件?(构建闹钟应用程序)

我正在玩渐进式网络应用程序,我想尝试构建的一个场景是闹钟应用程序. 我认为要使这个应用程序正常工作,它必须在后台运行并在满足内部条件(当前时间 === 警报时间)后变为活动状态. 这可能吗?或者,渐进式网络应用程序还没有通过 API 在后台运行/访问手机功能的自由. 谢谢! 解决方案 尚无法设置后台计时器.ScheduledTask API 可能是你想要的,但它仍在讨论、 ..
发布时间:2021-06-21 20:37:43 其他开发

iOS PWA 独立:如何强制在新窗口中打开

我在主屏幕上保存了一个 PWA,这在没有搜索栏和底部按钮(共享、标签等)的情况下正常打开. 所以每个链接都会在 PWA 中打开,这是意料之中的. 我在显示 pdf 时遇到问题,因为它们通常在 Safari 中使用“共享"打开按钮和所有底栏,但在 PWA 中,它们打开时没有底栏,也没有任何分享按钮. 所以我的想法是在新的 safari 窗口中打开 PDF 链接(http://www ..
发布时间:2021-06-21 20:37:37 其他开发

是否可以在没有 GCM 的情况下在 Chrome 中使用新的推送通知支持?

在使用新的 Push API 时,我可以使用 Google 的 GCM 以外的推送服务吗?服务人员? 解决方案 今天,Chrome 是唯一支持标准推送 API 的浏览器,所以现在简短的回答是否定的. 更长的答案涉及为不同的浏览器做不同的事情 Safari 通过 APNS 和专有 API Firefox 正在提供对推送通知的支持 很快,并且可能会使用与 GCM 不同的推送服务器 ..

如何将基于 Reactjs 的 PWA 更新到新版本?

我正在开发一个基于 reactjs 的应用程序.我还对它进行了 service-worker 设置.add to home screen 之后,应用程序永远不会检查服务器是否有新的更新. 我也试过: window.location.reload(true); 但它不会更新新版本. 我正在使用 Apache 服务器来为 build 文件夹提供服务,为了更新,我正在获取我的项目的新版本 ..
发布时间:2021-06-21 20:37:31 前端开发

IOS 12 PWA 支持

据说 IOS 11.4 将支持 PWA,但事实并非如此. 问题:今天IOS 12发布了,苹果在IOS 12版本支持PWA吗?(比如添加到主屏幕) 解决方案 PWA 是特性和功能的复杂集合.Apple 于 2018 年 3 月在 iOS 11.3 中添加了对某些 PWA 特性的初始支持.您可以在此处阅读非常好的解释,但有很大的局限性: iOS 上的渐进式 Web 应用程序在这里h ..
发布时间:2021-06-21 20:37:28 移动开发

我需要从 serviceworker 内部访问 localstorage 或 cookie

我希望在推送事件之后进行一次提取调用,以通过内部 api 获取通知数据,其中包含存储在本地存储或 cookie 中的用户特定参数,例如用户类型或国家/地区 ID .. 我该怎么做? 解决方案 您不能在 Service Worker 中使用本地存储.决定服务工作者不应访问任何同步 API.您可以改用 IndexedDB,或使用 postMessage() 与受控页面进行通信. 默认情况 ..
发布时间:2021-06-21 20:37:24 其他开发

对 Service Worker 的长时间等待请求

我注意到等待 Service Worker 响应缓存中的项目的时间并不像您预期​​的那么快.我在 sw-precache 和自定义编写的 Service Worker 中看到了相同的等待时间. 这个等待时间的可能原因是什么,我该如何减少它? 我在自定义 Service Worker 上的 fetch 事件如下所示: self.addEventListener('fetch', fun ..

当路由器处于历史模式时 PWA 不加载(基于 Vue CLI 3 的项目)

我有一个基于 Vue CLI 3 的应用程序,我想将其用作 PWA.我需要它在历史模式下工作,因为哈希干预重定向,我正在做的重定向是基于 OAuth 的身份验证过程的一部分. 当路由处于散列模式时,它会设法加载为 PWA.一旦我将模式更改为“历史记录",我安装的 PWA 将不再加载——而是出现白屏.我检查了浏览器版本,它仍然可以正常工作(我将 NGINX 服务器中的回退配置为 index.h ..

如何使工作箱缓存跨源响应?

根据workbox doc,跨域请求应该是配置以确保正则表达式匹配 URL 的开头.但是,它不起作用. Service Worker 代码如下. importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.0.0/workbox-sw.js');workbox.routing.registerRoute(/.*\ ..
发布时间:2021-06-21 20:37:13 其他开发

带有 Base64 的 Web 推送通知图标

我已经使用 Workbox 库实现了一个 Service Worker.对于网络推送通知,我们通过 WebPush 使用 FCM(https://github.com/web-push-libs/web-push-csharp) 现在我想要的是发送一个动态推送通知图标.图标以 base64 格式保存在数据库中.当我尝试使用 WebPush 从服务器端发送推送时,它会抛出异常:“错误请求". ..

Service Worker skipWaiting 无法激活当前等待的软件

说明: 我们使用 sw precache 预先缓存脚本,因此为了更新脚本,我们提供了重新加载选项,为此,我们正在侦听工作人员消息以跳过等待新安装的服务工作人员,原因不明,我们没有得到正确的 importScript //获取旧的软件引用(自己)而不获取新安装的软件引用self.addEventListener('message', function(event) {*//不工作*se ..

同一域中的 PWA 站点是否无法在主屏幕上同时安装?

我创建了 2 个 PWA 站点 https://s.maplat.jp/r/naramap 和 https://s.maplat.jp/r/aizumap 但是这些不能一起安装在主屏幕上. 一个安装后,另一个无法安装. 在同一域上安装 PWA 是否有任何规范或限制? 解决方案 您可以使用范围应用来完成此任务.更新您的清单文件以包含范围参数,其值为“app"应在其下提供的路径 ..
发布时间:2021-06-21 20:37:04 其他开发

如何在没有可信 SSL 证书的情况下在内网运行 PWA?

我正在建立一个 Intranet 环境,以便将来出于业务目的运行 PWA.但是我遇到了一个关于 SSL 证书的问题. 在我的计划中: 一切都在本地网络上(可能无法访问互联网),其中有一个专用服务器(我使用的是 ubuntu 服务器), 用户使用计算机或手机访问主页,并在其设备上安装 PWA. PWA 需要 HTTPS 才能工作,我可以对证书进行自签名(我这样做是为了测试),但这 ..
发布时间:2021-06-21 20:36:58 其他开发

是否可以修改 Service Worker 缓存响应标头?

我正在尝试标记存储在 Service Worker 缓存中的资源. 我认为可以向资源添加一个自定义标头来表明这一点,但是,一旦将资源存储在 Service Worker 缓存中,标头修改似乎就会被删除.是这种情况吗?我在 缓存规范 中没有看到任何关于修改响应标头的内容. 以下是我尝试过的示例: //我成功缓存了一个资源(在开发工具中确认)caches.open('testCache' ..
发布时间:2021-06-21 20:36:56 前端开发

如何为推送通知添加分析

我正在开发渐进式网络应用,我想实现推送通知的分析. 如何为推送通知添加分析,以便我能够跟踪和记录有多少人点击了通知,以及有多少人没有点击通知就关闭了该通知. 解决方案 我编写了一小段代码来使用 Google Analytics 进行分析,并且运行良好. 此处转储注释:https://gauntface.com/blog/2016/05/01/push-debugging-ana ..