问题标签 [progressive-web-apps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
progressive-web-apps - 渐进式 Web 应用程序中的背景事件?(构建一个闹钟应用程序)
我正在玩渐进式网络应用程序,我想尝试构建的一个场景是闹钟应用程序。
我认为要使此应用程序正常工作,它必须在后台运行并在满足内部条件(当前时间 === 警报时间)后变为活动状态。
这可能吗?或者,渐进式网络应用程序是否还没有通过 API 在后台运行/访问电话功能的自由。
谢谢!
javascript - 检查 Progressive Web 应用程序中的网络更改?
如何在 Progressive Web 应用程序中更改网络时获取回调?
示例:在 Flipkart Lite 中,当我们断开互联网连接时,应用颜色会从蓝色变为灰色,当我们从互联网连接时,应用颜色会从灰色变为蓝色。请告诉我,如何实现此功能?
google-chrome - Chrome App Store Manifest vs Web App Manifest
我正在尝试将我的网络应用发布到 Chrome 应用商店。我对第 2 步:创建清单文件感到困惑。这个清单文件也是Web App 清单吗?
如果它们不同,是否意味着我需要两个 manifest.json 文件,如果我打算让它成为一个渐进式网络应用程序,同时也在 Chrome 应用商店上市?我该怎么做呢?谢谢。
angular - 在 Progressive Web App (Angular2) 上导入 Material 的 sidenav 问题
在完成 Angular 的 MobileToolkit 指南 ( https://github.com/angular/mobile-toolkit/blob/master/guides ) 后,我想为我的应用程序带来一些额外的组件......比如 sidenav!
就像教程教我的一样,我添加了使用 SideNav 组件所需的所有代码......
这是我的 app.component.ts 导入:
这是指令注册:
添加的外部包(前两个来自提到的教程):
和所有的出口(同样,来自教程):
一切就绪后,我执行“ng serve”命令,然后……嗯:
经过一番研究,我在网上发现了类似的问题,但其中大多数要么与缺少的 Angular 包(http)有关,要么与旧的 Angular2 版本有关。这里不是这种情况,因为我使用的是最新版本并且 http 包已经到位(在 node_modules 和 dist 文件夹中)
offline-caching - 渐进式 Web 应用程序和 CMS 驱动的网站
从Addy Osmani和Jake Archibald等开发人员的谈话中,我对离线优先、渐进式 Web 应用程序很感兴趣。然而,当我看到这些时,似乎总是在 Web应用程序的上下文中,有人会使用 SPA 来构建聊天应用程序、照片应用程序,并与来自 API 端点的数据进行交互。
我通常与使用 CMS 构建 10k+ 页面的客户合作,这些页面具有各种长度和组合的各种不同内容:所见即所得的内容、横幅、表格等。
对于 CMS 驱动的工作,离线优先、渐进式 Web 应用程序是否可行?如果是这样,要考虑保持渐进增强的最佳实践是什么?
push-notification - 如何为推送通知添加分析
我正在开发渐进式网络应用程序,我想为推送通知实施分析。
如何为推送通知添加分析,以便我能够跟踪和记录有多少人点击了通知,以及有多少人在没有点击的情况下关闭了该通知。
service-worker - 通过 sw-precache 对已版本化的捆绑文件进行缓存破坏
我sw-precache
用来允许预先缓存 Angular 应用程序的所有静态资源。我明白了sw-precache concept of versioning by calculating the MD5 hash which is used to determine whether the file has changed or not.
但我想知道我们将如何处理sw-precache
通过连接多个文件并缩小它们和版本控制文件生成的捆绑文件(比如 bundle.877095ebde8.js)上的版本控制/缓存破坏。
因为在这种情况下,每次您进行任何更改并创建一个新的版本控制文件时,整个文件都将更改而不是文件内容,因此navigator.serviceWorker.controller
始终返回 null。
javascript - 在大量缓存站点上使用查询字符串版本标识符的 Service Worker 的最佳方法
故事
我有一个使用传统浏览器缓存的网站,该网站被大量缓存,静态内容长达 365 天。
为了在部署新版本后清除缓存,我使用了一个版本标识符的查询字符串,例如:
但是对于版本的每次升级,加载时间都很糟糕,因为当查询字符串发生变化时,浏览器需要下载所有新内容。
情况
现在,我们有了 Service Worker,我已经将它集成到我的网站中。到目前为止一切正常,版本标识符的查询字符串仍然可以使用。
并且与 SW 集成之前相同的行为仍然存在。然而升级很慢,就像往常一样......
问题
我想知道是否有更好的方法?它可以执行以下操作,并且仍然保留繁重的缓存机制(对于旧浏览器):
- 发现新版本
- 仍然使用最新版本的旧内容,
- 在去获取新版本的所有新内容下,
- 下次用户访问该站点时,他们将使用最新版本。
注意它的目标是在部署新版本时更快地加载站点
progressive-web-apps - 如何搜索渐进式网络应用
我对 Progressive Web App 很感兴趣,它具有以下站点中提到的几个优点
https://developers.google.com/web/fundamentals/getting-started/your-first-progressive-web-app/
其中之一是 Progressive Web App 是可发现的。其实我不是100%理解的。
这意味着我们可以通过谷歌搜索来搜索渐进式网络应用程序。
我有如下三个问题。
我们如何通过谷歌搜索来搜索 Progressive Web App。有关键字吗?因为渐进式网络应用不属于任何应用商店。似乎应该通过谷歌搜索来搜索它,并且需要所有它们的任何组或类别。
W3C 清单的哪一项有助于将其识别为“应用程序”</p>
Service Worker 注册范围如何允许搜索引擎找到它们
可发现 - 由于 W3C 清单和服务工作者注册范围允许搜索引擎找到它们,因此可以识别为“应用程序”。
caching - Service Worker 运行时缓存
我正在使用服务工作者创建一个渐进式 Web 应用程序,并且我正在使用服务工作者工具箱来缓存我的内容。用于缓存我的内容的服务人员代码:
代码运行良好,因为我在控制台中没有看到任何错误。但是我如何检查来自云端的图像或上面配置的 url 是否被缓存并从缓存本身呈现。