Angular Service Worker 在不支持的浏览器上

2024-07-04

Angular 团队做得非常出色,并在版本 5 中引入了 Service Worker 支持。文档 https://angular.io/guide/service-worker-intro非常有帮助,在阅读相关文章后我真的可以看到这些事情是如何工作的,但是有一个主题没有涵盖其中。这一切在不支持 Service Worker 的浏览器中是如何工作的?

这就是所说的:

您的应用程序必须在支持服务的 Web 浏览器中运行 工人。目前,Chrome和Firefox的最新版本是 支持的。了解作为 Service Worker 的其他浏览器 准备就绪,请参阅我可以使用页面。

我可以使用节目吗支持很差 https://caniuse.com/#feat=serviceworkers相对重要的浏览器中的功能。我可以忍受不工作的 IE11,但 Safari(尤其是移动设备)是我不希望不受支持的东西。

因此,我的目的是了解 Angular Service Worker 模块、服务、这些服务提供的事件等在浏览器上的行为does not支持服务人员。

所有这些都会默默地失败吗?事件无论如何都会被触发吗?会不会ngsw-worker.js被要求?是否会在 IndexedDB 而不是 Service Worker 中缓存某些内容?

解决方案看起来很酷,但我无法回答这个问题我应该使用它吗?直到我知道上述问题的答案。


官方回应 https://github.com/angular/angular/issues/21304#issuecomment-367076992

Angular SW 仅适用于支持 Service Worker 的浏览器。这包括所有应用程序集成(例如 SwUpdate 服务)。

如果当前浏览器不支持软件。

  • SW 脚本和 ngsw.json 永远不会被下载。
  • 主动尝试与软件交互,例如调用 -
  • SwUpdate.checkForUpdate() 将返回被拒绝的承诺。
  • 被动尝试监听 SW Observables(例如 SwUpdate.available)将永远不会触发 - Observables 永远不会发出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular Service Worker 在不支持的浏览器上 的相关文章

  • 在 Angular 6 和 ASP.net 中启用 CORS

    我正在尝试从 Angular 6 应用程序向发送电子邮件的 API 发送 POST 请求 我用邮递员测试了该请求并且它有效 但是当我在 Angular 应用程序中执行 POST 请求时 我的控制台中出现错误 我在 Angular 应用程序中
  • 如何以角度形式将自定义错误消息设置为表单

    我的组件中有以下代码 if form controls minRange hasError min form controls minRange setErrors min true 我在输入中收到消息 minRange 无效 但我想将错误
  • Angular 5:表内的动态表单验证

    我正在尝试使用表单组验证表内的输入字段 但无法实现相同的目标 我使用 ngFor 来迭代数据 因为我必须在表的第一列中显示该数据 而其他列只是输入文本字段 我必须在其中添加表单验证 因此 我添加了该字段的唯一表单控件名称的索引 HTML代码
  • 具有传输状态的 Angular 通用 flickring

    我使用 Angular 7 和 NodeJS Express 作为后端 API 我使用 Angular Universal 进行服务器端渲染以实现 SEO 角度 SSR 网站闪烁后 我使用基于 JWT 令牌的身份验证 并在每个 Http 请
  • 升级到 Angular v9 并启用 Ivy 后 Angular 编译失败

    我们最近将 Angular 应用程序升级到了最新版本的 Angular Angular v9 我们所有的依赖项也都升级了 ng update 表示我们所有的依赖项都 按顺序 当我们在启用 Ivy 的情况下构建应用程序时 编译过程会失败并出现
  • Bootstrap 样式不适用于 Angular2 组件

    Bootstrap 样式不适用于 Angular2 组件 在以下 Angular2 组件中 它不能作为 ui 中的引导流体容器工作 如果我在带有 div 元素的组件内使用 container fluid 则会在作品中出现 例如 不工作 Co
  • 如何使用亚马逊 s3 服务 Angular 2

    是否可以使用 amazon s3 为 Angular 2 应用程序提供服务 而无需使用专用服务器 如果是这样如何进行 是的 您可以将应用程序部署到 AmazonS3 但不应直接从 Amazon S3 提供该应用程序 S3 是存储服务 而不是
  • 将 MathJax 集成到 SystemJS 构建中

    I use SystemJS建立一个Angular 2应用程序 我想开始使用MathJax在一个组件中 我安装了 npm install save dev mathjax npm install save types mathjax Mat
  • 将 MathJax 集成到 SystemJS 构建中

    I use SystemJS建立一个Angular 2应用程序 我想开始使用MathJax在一个组件中 我安装了 npm install save dev mathjax npm install save types mathjax Mat
  • 角度自动完成对象

    我正在努力了解如何在使用对象时使用角度材质自动完成 我基本上遵循 Angular 文档 只是用选项对象替换了选项数组 但我不确定如何让它工作 介意来这里看看吗 如果问题在其他地方有很多答案 我会删除该问题 这是我的 html 和 ts 组件
  • 如何使用 systemjs 在最小的 Angular 2 应用程序中加载 RxJS?

    我无法使用 RxJS 获得最小的 Angular 2 应用程序 我使用 Typescript tsc 1 6 2 和 systemjs 进行模块加载 如何让 systemjs 正确加载 Rx 模块 我已经没有办法尝试了 如果有人指出我做错了
  • 如何使用 systemjs 在最小的 Angular 2 应用程序中加载 RxJS?

    我无法使用 RxJS 获得最小的 Angular 2 应用程序 我使用 Typescript tsc 1 6 2 和 systemjs 进行模块加载 如何让 systemjs 正确加载 Rx 模块 我已经没有办法尝试了 如果有人指出我做错了
  • Jasmine 测试中 AfterViewInit 的生命周期钩子

    我对与 Jasmine 测试相关的生命周期挂钩感到困惑 LifeCycle Angular 文档没有提到测试https angular io guide lifecycle hooks https angular io guide life
  • 类型“””上不存在属性“错误”|承诺<任何>'

    我正在尝试按照 Angular 向服务添加一些错误处理guide https angular io docs ts latest guide server communication html error handling 相关片段 pri
  • 在 Angular 中创建可重用的按钮组件

    我正在尝试在 Angular 5 中创建一个组件 该组件将包含一个可重用的按钮模板 在我的应用程序按钮的不同部分将调用不同的函数 因此我希望能够告诉按钮的给定实例要调用什么函数 我知道我可以在需要的地方为按钮创建一个 HTML 标签 但我希
  • 如何在对象数组中使用 *ngFor 循环?

    我正在学习 Angular2 所以如果我问了一个愚蠢的问题 请原谅我 我收到一个对象数组 它看起来像这样 obj json data item banana item apple item lemon 在我的组件文件中 我设法将其范围限制在
  • 找不到名称“HammerManager”

    我在用 角 2 0 0 rc 5 angular2 材料2 0 0 alpha 7 4 Angular CLI 1 0 0 beta 11 webpack 2 当我尝试编译时 它会抛出错误 找不到名称 HammerManager 请参阅随附
  • Angular 单元测试模拟重播主题

    我有一个带有重播主题的服务 export class UserService public userChanged ReplaySubject
  • 如何在ionic 2中生成和显示QR码

    我找到了在 Angular 和 ionic 1 中生成条形码的文档 但我需要在 Ionic 2 项目中生成一个 尝试 JsBarcode 项目 有一个 Angular 1 的包装器 我使用了本期中的说明来让它在 Angular 2 上工作
  • 角度错误:没有 NgControl 的提供者

    我正在创建一个实现 ControlValueAccessor 的组件 以在响应式表单中使用 它只是输入元素的包装器 上面有一些管道 我注入了 NgControl 以便检索有效 无效状态并将它们传播到内部输入元素 当在另一个输入中找到输入值时

随机推荐

  • 基于路由参数的子容器注册

    我们有一个多租户 ASP NET MVC 应用程序 为多个客户端托管预订引擎 这些客户端中的每一个都有多个可以影响 Unity 容器配置的包 我们为每个请求创建一个子容器 并根据通过路由传递的客户端和包参数注册不同的接口实现 目前 我们正在
  • 如何检查错误是否是“超出截止日期”错误?

    我正在发送一个带有指定 10 秒超时的上下文的请求 ctx cancel context WithTimeout context Background time Second 10 defer cancel err client SendR
  • ncurses 和curses - 编译器未定义的引用

    好吧 我最初一直在尝试使用一些据称仅适用于 Windows 的标头 我的错 但我已经使用curses h 重现了我需要的内容 但是我仍然收到完全相同的错误 usr bin gmake f nbproject Makefile Debug m
  • Zend 框架表单与 jquery

    有人知道如何使用 Zend Form 和 jquery 简单地创建一个表单吗 我想使用 Zend Form 来验证表单 这样我就不必在 JavaScript 和 PHP 中编写表单的双重脚本 谢谢你 伊沃 特罗姆伯特 那里没问题 如果您使用
  • 获取JQuery中选定单选按钮的文本

    在 Jquery 中 如何获取所选单选按钮的文本 而不是值 如下所示
  • CacheStoreMode USE 和 REFRESH 有什么区别

    javadoc 为缓存存储模式 http docs oracle com javaee 6 api javax persistence CacheStoreMode html区分我无法真正理解的一点 javadoc 为USE mode 从数
  • 何时何地打开数据库连接

    我正在努力实现发现的 mysql 类的使用here http www ricocheting com scripts php mysql wrapper php在现有脚本中 该脚本几乎总是需要与数据库交互 即使有时不需要 在这种情况下 最佳
  • 将图像添加到Toast?

    是否可以以编程方式将图像添加到 toast 弹出窗口 Yes 您可以使用 setView 方法将 imageview 或任何视图添加到 toast 通知中 使用此方法您可以根据您的要求自定义 Toast 在这里 我创建了一个要膨胀到 Toa
  • 用于结构化数据格式(XML、JSON)内的目标内容的标准表示法?

    问题是这样的 我处于 Web 环境中 并且拥有以某种结构化格式 例如 XML 或 JSON 表示的数据 我想定位这些表示内的元素 这是一个例子 动物园的 XML 表示形式
  • 避免 xjc 生成的代码出现编译器警告

    我的根本问题是如何从 未经检查的泛型类型 Eclipse 编译器警告中受益 但问题视图中没有这些警告列表 这些警告被 xjc 从 xsd 文件生成的 java 类的噪声污染 通过 maven jaxb2 插入 我读过其他地方 我可以忽略每个
  • 将字符串中的每个字符转换为 ASCII

    谁能告诉我如何轻松地将字符串中的每个字符转换为 ASCII 值 以便我可以对这些值求和 我需要对哈希函数的值求和 字符串中的每个字符都已经是 ascii include
  • GlassFish 服务器日志的位置

    我在 Windows 7 64 位计算机上安装了 NetBeans IDE 显然 NetBeans 附带了 GlassFish 服务器 我目前在一个项目中遇到问题 想检查服务器日志 请问这些保存在哪里 一般来说 日志位于 YOUR GLAS
  • /lib64/libc.so.6:找不到版本“GLIBC_2.14”。为什么我会收到此错误?

    我在 Node js 中工作 我已经安装了鹰嘴豆泥包 它安装正确 我正在使用这个包来修改 pdf 文件 下载 pdf 时 我调用鹰嘴豆泥 单击下载时出现此错误 Error lib64 libc so 6 version GLIBC 2 14
  • 部署到 10.6 时出现 ARC 错误

    我的应用程序在 10 7 上运行和测试 但后来意识到我也需要它在早期版本上运行 不幸的是 我从一开始就在 ARC 的情况下开始了这个项目 现在我的构建设置是调试基础 sdk 10 7 并发布基础 sdk 10 6 当我尝试存档我的应 用程序
  • Laravel 4 中的图标链接

    有人可以帮忙重写这个 从 HTML 到 Laravel4 吗 a href index php span i class icon home i span Home a 该页面的路由名称只是 我知道如何在 Laravel 中编写简单的链接
  • 为什么 List.contains() 在 Collections Java 中将 Object 作为参数 [重复]

    这个问题在这里已经有答案了 The java util List contains Object o 方法需要Object作为参数并在内部使用Object equals Object o 如上所述here http docs oracle
  • 查找 R 中已知中心点的半径范围内的纬度/经度

    我有一个具有已知纬度和经度的已知点 中心 并且我在 df 中有一些坐标 以纬度 经度为单位 我想查看哪些坐标在距中心点 5 公里或更小的半径内 Centre mylon lt c 2 106472 mylat lt c 57 14455 坐
  • 调整图像大小以适合父节点

    如何让 ImageView 中的图像自动调整大小以使其始终适合父节点 这是一个小代码示例 Override public void start Stage stage throws Exception BorderPane pane new
  • 覆盖引导样式不起作用

    我有这种简单的情况 我有一种没有定义的风格display属性值 我最近在我的项目中添加了 bootstrap 没有出现重大问题 只有一个 In label bootstrap style is defined a display inlin
  • Angular Service Worker 在不支持的浏览器上

    Angular 团队做得非常出色 并在版本 5 中引入了 Service Worker 支持 文档 https angular io guide service worker intro非常有帮助 在阅读相关文章后我真的可以看到这些事情是如