当前位置: 首页 > 知识库问答 >
问题:

服务人员什么时候应该自毁?

邓昀
2023-03-14

我发现了这个描述如何摧毁一名服务人员的回购协议。但我没有找到任何资源来描述工作人员何时应该销毁/卸载/注销自己。

当我开发网站时,我经常使用8080端口。我可以在有服务人员的站点X上工作,然后在没有服务人员的站点Y上工作,但是原来的和现在不正确的服务人员仍然存在。

服务人员决定卸载自身的逻辑有点复杂,因为我们希望:

  • 允许服务工作人员脱机工作

是否有一个标准的机制或惯例?

共有2个答案

曹臻
2023-03-14

您必须在serviceworker中注册一个javascript文件,该文件在运行javascript文件之前检查site X的本地路径。

navigator.serviceWorker.register('/checking.js').then(function(registration) {
  // Registration was successful
  }

检查中。js

if(window.location.href == "YOUR X SITE FILE PATH"){
 //Run the javascript file which you have created for site X 
}

请记住,在生产过程中,您必须将serviceWorker()的参数更改为相应的js文件

连正信
2023-03-14

简单的答案是,通常情况下,它永远不会自我毁灭。

这对您来说似乎是一个问题,因为您正在开发多个站点,然后将它们作为localhost:8080进行测试。

以下是解决这一特殊问题的几种方法

第一种方法是为您在/etc/hosts中开发的每个站点设置别名。

127.0.0.1  local.site-a.com
127.0.0.1  local.site-b.com

另一个选项是在测试时将每个项目配置为在不同的端口上运行。

最后一个选项是在每个没有服务人员的项目中包含您在问题中链接到的代码。尽管采用这种方法,但理想情况下,您需要使构建过程只在开发人员构建中包含它。

 类似资料:
  • 问题内容: 我知道他们两个都禁用了Nagle的算法。 我什么时候应该/不应该使用它们中的每一个? 问题答案: 首先,不是所有人都禁用Nagle的算法。 Nagle的算法用于减少有线中更多的小型网络数据包。该算法是:如果数据小于限制(通常是MSS),请等待直到收到先前发送的数据包的ACK,同时累积用户的数据。然后发送累积的数据。 这将对telnet等应用程序有所帮​​助。但是,在发送流数据时,等待A

  • 问题内容: 在该类中,有两个字符串,和。 有什么不同?我什么时候应该使用另一个? 问题答案: 如果你的意思是和则: 用于在文件路径列表中分隔各个文件路径。考虑在上的环境变量。您使用a分隔文件路径,因此在上将是;。 是或用于拆分到特定文件的路径。例如在上,或

  • 问题内容: 在集成我以前从未使用过的Django应用程序时,我发现了用于定义类中函数的两种不同方式。作者似乎非常有意地使用了它们。第一个是我自己经常使用的: 另一个是我不使用的,主要是因为我不知道何时使用它,以及什么用途: 在Python文档中,装饰器的解释如下: 类方法将类作为隐式第一个参数接收,就像实例方法接收实例一样。 所以我想指的是自己(而不是实例)。我不完全理解为什么会这样,因为我总是可

  • 我正在尝试使用谷歌api从gmail账户获取新邮件。然而,阅读文档时,我发现有两种类型可以访问api:第一种是未经授权(使用json凭据),第二种是服务帐户(使用p12证书和secretkey) 无法理解这两者之间的区别是什么?我到底应该用什么? 谢谢

  • 问题内容: 我看过各种文章,但我仍然不知道为什么不应该使用它。请让我知道您的想法。 问题答案: 我发现有必要在错误的设计中使用instanceof提示。可以肯定的是,将会出现一个大型,复杂的开关风格的构造。在我看到的其他大多数情况下,我们应该使用多态而不是instanceof。请参阅策略模式。(相关的使用示例) 我唯一需要使用的是实现时。

  • 问题内容: 我担心这是运行时异常,因此应谨慎使用。 标准用例: 但这似乎会强制执行以下设计: 使它回到被检查的异常。 好的,但是让我们开始吧。如果输入错误,则会出现运行时错误。首先,这实际上是统一实施的相当困难的策略,因为您可能必须执行相反的转换: 更糟的是-虽然可以预期客户端代码将以静态方式进行检查,但对于更高级的数据(例如电子邮件地址)却并非如此,或更糟糕的是,必须对数据库进行检查,因此,一般