我正在与Service Workers一起编写我的第一个应用程序,并试图获取注册以便与pushManager进行交互。
我可以使用以下任一方法执行此操作:
nagivator.serviceWorker.getRegistration()
Run Code Online (Sandbox Code Playgroud)
要么
navigator.serviceWorker.ready.then()
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个?有什么区别?
上下文:我编写了一个Django应用程序,我现在已将其部署到Elastic Beanstalk(AWS).
在本地开发中,我一直在使用自定义请求标头SESSION_TOKEN,然后我可以使用它request.META.get('HTTP_SESSION_TOKEN').在生产中我看到错误,因为该标题是不可访问的(在我的Django服务器看到的所有请求中,它只是丢失了).
另外我的其他标准标题工作正常,它只缺少自定义标题.注意我没有设置HTTP_AUTHORIZATION,这与django rest_framework中缺少的Authorization标头不一样,是否需要apache?.
出了什么问题?如何在生产中访问后端的自定义标头?
我已经为网站构建了一项服务,可以轻松地将推送通知集成到他们的网站中,但是当前的Chrome实施还需要他们设置清单和服务工作者.
有没有办法只用一行Javascript来设置服务工作者和清单?
我的网站是一个离线工作的渐进式网络应用程序(单页/ SPA).
我想使用Google Analytics但不确定如何在这种情况下报告事件,尤其是因为设备可能处于脱机状态.
有没有办法做到这一点?
在我的服务工作人员更新时,我似乎无法在任何文档中找到它?
是否每次启动时检查新的服务工作文件,或每天检查一次,还是其他什么?
我正在尝试在渐进式网络应用程序中实现推送通知,并在 Chrome 中使用新的有效负载支持。
我正在尝试将端点和密钥发送到服务器,但在 PushSubscription 对象上看不到 keys 属性...
如何访问密钥以便将它们发送到服务器?
由于Chrome已切换到本机OSX通知,因此有时我尝试使用web-push和我的服务工作人员显示的通知不会显示.
它们在以前的Chrome版本中始终如一.
自从他们开始做这项工作以后,我有什么应该改变的吗?