Chrome:为什么 serviceWorker.ready 解析为处于“已安装”状态的服务工作者注册
Chrome: why does serviceWorker.ready resolve to a service worker registration in "installed" state?
在Chrome(但不是Firefox)中,以下代码解析为具有状态installed
的服务工作者注册,而不是activated
,如预期的那样:
navigator.serviceWorker.ready.then(function(r) {
console.log("STATE", r.active.state); // outputs "installed" on first load
});
navigator.serviceWorker.register('empty.js').then(function(r) {
console.log('empty.js registered with scope:', r.scope);
});
这似乎既违背了规范("它等到承诺通过具有活动工作线程的服务工作线程注册解决")和该功能的意图。
- 为什么会这样?(为什么只在Chrome中,而不是在Firefox中?
- 如何确保在主机页面上发出的一组特定网络请求(例如通过
fetch()
)通过服务工作线程发出?
看起来这是 Chrome 中的一个错误——状态实际上应该按预期activated
(或activating
,在这种情况下,功能事件会排队)。
相关文章:
- 如何使用外部.IsSearchProvider已安装函数
- 在 iPhone 上使用 Safari 确定已安装的应用
- 在AngularJS ui路由器中,状态已更改,url已更改,但模板url未更改
- 我可以'不要在eclipse中使用css,javascript文件和已安装的phonegap插件
- React:只能更新已安装或正在安装的组件
- 查找已安装的NodeJS模块的文件系统位置
- Chrome:为什么 serviceWorker.ready 解析为处于“已安装”状态的服务工作者注册
- 无法使用 js 和 Selenium 设置 Web 元素状态“已选择”
- jQuery Countdown 已安装.显示多个倒计时时遇到问题
- 错误:尽管已安装 Babel polyfill,但它是必需的
- 无法从OAuth Google API获取已安装应用程序的访问令牌
- 方法POST,状态(已取消)错误消息
- Node.js:获取已安装的npm包的(绝对)根路径
- 在React中,我如何将用户重定向回状态已更改的索引
- 将复选框状态(已检查/未检查状态)读入Meteor中的变量的语法
- 签入浏览器已安装torrent客户端
- 如何使用IE中的javascript检测已安装的MS Office版本
- 如何在javascript中检测已安装的MS Office版本
- Rails宝石已安装但无法正常工作
- 从同一设备上运行的html或javascript代码/页面调用已安装的移动facebook应用程序(任何平台androi