问题标签 [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.

0 投票
1 回答
524 浏览

javascript - 通过 GCM 在 Progressive Web 应用程序中推送通知

在发送推送通知时我得到了(未捕获(承诺中)ReferenceError:未定义要求(...))错误。这是我的代码

错误截图在 此处输入图像描述

0 投票
2 回答
794 浏览

google-cloud-messaging - 如何在渐进式 Web 应用程序中发送推送通知

我正在使用 curl 命令发送推送通知,它工作正常。这是我的 curl 命令

当我通过传递给用户的命令行通知执行此命令时。我想在按钮单击时发送通知。我该怎么做。

0 投票
2 回答
127 浏览

google-chrome - Chrome和FireFox的Service Worker的“Google Cloud Messaging”与本机“Push Notification”有什么关系

就像标题一样,我只是按照 Google Chrome Developers 的 Progressive Web Apps 提供的教程。我已经成功地将 Google Cloud Messaging 集成到 我的实验中来做 app

据我所知,对于不同的浏览器,例如 FireFox 和 Chrome,我们有 2 个不同的端点(并且肯定有不同的订阅 ID)。我试图卷曲我从 FireFox 获得的端点,但没有收到任何通知。

感谢您阅读我的问题!

0 投票
1 回答
2551 浏览

google-chrome - `pushManager.subscribe` 和 `pushManager.getSubscription` Service Worker 的区别是什么

PushManager.getSubscription()

检索现有的推送订阅。它返回一个 Promise,该 Promise 解析为包含现有订阅详细信息的 PushSubscription 对象。如果不存在现有订阅,则这将解析为空值。

[...]

PushManager.subscribe()

订阅推送服务。它返回一个 Promise,该 Promise 解析为包含推送订阅详细信息的 PushSubscription 对象。如果当前服务工作者没有现有订阅,则会创建一个新的推送订阅。

根据 MDN 的pushManager文档。方法几乎相同,只是在这种情况下getSubcription()可能会用空值解决。

我基本上明白我可以简单地使用subscribe(),Service Worker 将尝试获取订阅以防它可用,并创建新订阅以防它不可用。

=> 但我正在尝试做其他事情。我想先尝试订阅,如果解决了null我会尝试订阅。

但后来我遇到了错误:

Uncaught (in promise) DOMException: Subscription failed - no active Service Worker

这令人困惑,我怀疑这是 Chrome 对 Service Worker 推送 API 的限制,或者可能是一个错误。有没有人有关于这种奇怪行为的任何信息?

0 投票
0 回答
108 浏览

javascript - 在渐进式 Web 应用程序中通过 GCM 发送推送通知

这是我在渐进式 Web 应用程序中发送推送通知的代码。当我单击按钮 sendRequest() 函数被调用并正确发送通知时,它的工作属性。但是推送事件没有被触发。这段代码有什么问题吗

0 投票
2 回答
815 浏览

ajax - 如何向 GCM 发出请求以通过 XHR 发送通知

实际上我想向 GCM 发出请求以通过 XHR 发送通知我已经使用 cURL 实用程序向 GCM 发出请求,但我不知道如何使用 XHR 来完成。有没有办法做到这一点

0 投票
2 回答
1675 浏览

ajax - 如何在 Chrome 中发送推送通知(Progressive Web Apps)

请解释如何使用 XHR 和 Javascript 进行推送通知。或者是否有任何其他方式可以在渐进式网络应用程序中发送推送通知。我已经创建了 curl 命令,当我在发送的终端推送通知中执行它时,如何在按钮单击时执行它?

这是我的 cURL 命令:-

这是我尝试过的:-

但它显示错误 ----- XMLHttpRequest cannot load https://android.googleapis.com/gcm/send。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“ http://localhost:8880 ”。

0 投票
2 回答
1038 浏览

push-notification - 如何存储订阅的端点以发送推送通知

我正在处理推送通知,当用户订阅通知时,会生成一个唯一的端点。我想知道如何将这些端点存储在数据库中,以便进一步使用这些端点向所有订阅用户发送通知

0 投票
1 回答
389 浏览

google-maps - 跨域请求获取谷歌地图的 SDK

我正在使用服务作品来预取 Google Maps Javascript SDK。因为服务人员使用fetch我不断收到此错误 -

如何在谷歌地图 SDK 上启用 CORS?

更新

我正在使用sw-toolbox,在我的服务人员中我有以下代码 -</p>

0 投票
1 回答
77 浏览

javascript - 在 Web 应用程序中处理事件跟踪的最佳(性能)方法

当前情景

在我们的一个 SPA 网络应用程序中,我们正在使用我们的自定义跟踪器请求跟踪各种用户操作,例如等cta clickspage navigations该请求使用 POST 请求将一些信息传递到后端。

问题 现在因为这些跟踪请求我们即时(虽然以异步方式但在同一线程上运行),这些请求将与同一页面线程上发生的任何其他事件作斗争。

理想的效果 理想情况下,如果可以收集这些跟踪数据并以固定的时间间隔(可能每分钟)发送单个请求,这将极大地提高客户端性能并减少跟踪请求的服务器上的负载已发送。

解决方案

  • 使用 Localstorage - 我想到的一个直接解决方案是使用 LocalStorage 来保留跟踪数据,即使用户在调用被触发之前立即离开页面,这些数据也会被保留。但问题是,由于 x seconds超时,如果用户关闭选项卡并且再也没有回来,数据将在 localStorage 中,但永远不会发送。

是否有任何适当的解决方案可以帮助实现这种预期效果?也许backgroundSyncAPI?