Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取脚本时发生未知错误(服务工作者)_Javascript_Manifest_Service Worker_Offline Caching_Progressive Web Apps - Fatal编程技术网

Javascript 获取脚本时发生未知错误(服务工作者)

Javascript 获取脚本时发生未知错误(服务工作者),javascript,manifest,service-worker,offline-caching,progressive-web-apps,Javascript,Manifest,Service Worker,Offline Caching,Progressive Web Apps,脱机时,我的服务人员出现以下错误: (未知)3016获取脚本时发生未知错误 我的服务人员如下所示: var version = 'v1' this.addEventListener('install', function(event){ event.waitUntil( caches.open(version).then(cache => { return cache.addAll([ 'https://fonts.googleapis.co

脱机时,我的服务人员出现以下错误:

(未知)3016获取脚本时发生未知错误

我的服务人员如下所示:

var version = 'v1'

this.addEventListener('install', function(event){
  event.waitUntil(
     caches.open(version).then(cache => {
       return cache.addAll([
         'https://fonts.googleapis.com/icon?family=Material+Icons',
         'https://fonts.googleapis.com/css?family=Open+Sans:400,600,300',
         './index.html'
       ])
     })
   )
})

this.addEventListener('fetch', function(event) {
  event.respondWith(
    caches.match(event.request).then(function(resp) {
      // if it's not in the cache, server the regular network request. And save it to the cache
      return resp || fetch(event.request).then(function(response) {
        return caches.open(version).then(function(cache) {
          cache.put(event.request, response.clone())
          return response
        })
      })
    })
  )
})
它位于顶层目录中,就在index.html中这样导入的清单旁边:

我在我的条目js文件中导入服务工作者。然后马上注册

require('tether-manifest.json')
import serviceWorker from 'sw'

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register(serviceWorker)
  .then(() => {
    // registration worked
  }).catch(error => {
    throw new Error(error)
  })
}
天气很好。我在脱机之前不会遇到错误

我正在使用带有React的webpack,并在webpack中执行以下操作以将我的sw.js文件复制到dist文件夹:

loaders: [
      { // Service worker
        test: /sw\.js$/,
        include: config.src,
        loader: 'file?name=[name].[ext]'
      },
      { // Manifest
        test: /manifest\.json$/,
        include: config.src,
        loader: 'file?name=[name].[ext]'
      }
]
这个错误没有提供任何关于正在发生什么的信息


有人知道如何解决这个问题吗?

我遇到了完全相同的问题,我花了一个小时试图解决这个问题,结果发现我在某个地方打开了另一个相同来源的选项卡(因此使用相同的共享服务工作),该选项卡具有“脱机”功能复选框保持选中状态,这会阻止其他选项卡出于某种原因请求
sw.js

似乎脱机状态正在从Service Worker作用域内的选项卡泄漏,而不是由首先脱机的选项卡以外的其他选项卡正确反映或管理


因此,请确保没有其他客户机运行相同的服务人员-您应该能够在DevTools>Application>serviceworks中找到它们

对我来说,当我在安装时将sw.js添加到缓存时,这个错误就消失了。只是忘了做那件事,但它解决了这个问题。

我在一个角度项目中工作时遇到了这个问题。我的问题是使用Angular CLI的内置
ng serve-prod
命令


为了让它正常工作,我使用了
ng build-prod
,然后在Chrome中使用http服务器托管生成的dist文件夹,我所做的是选中了
绕过网络
选项,然后就可以重新加载了


在尝试其他操作之前,请检查您的https证书是否无效或与您正在访问的url不匹配

就我而言,我试图访问https://localhost 使用为另一个域注册的证书

当点击“继续”将允许我进入站点时,这个准确的错误将被打印到控制台上:

获取脚本时发生未知错误


有类似的问题。该错误仅在脱机模式下出现。我认为这个错误并不是节目的障碍。这个网站现在根本不能离线工作。我得到了恐龙,所以是的,如果你想让它离线工作的话,那它就是一个阻碍。你想获取软件文件吗?我可以问一下为什么吗?我有点想知道为什么会出现这样的错误,但我想进一步澄清。我正在把它导入我的index.js文件中,以便首先注册它。但除此之外,没有?我仍然遇到这个问题,有没有明确的过程来解决这个问题?这可能是真正的原因!我一直没弄明白。但在我关闭所有内容后,删除了我的构建文件夹。重新启动计算机,重建站点。它工作得很好。我什么也没变。因此,这似乎是问题的最可能原因。谢谢分享!非常感谢。这正是原因,我在另一个选项卡中打开了Airhorner示例,并激活了脱机,而在另一个端口上的另一个选项卡中打开了另一个本地站点。我将Angular CLI版本从beta 18切换到RC1,每当我创建一个新应用程序时,很快就会出现同样的错误。我删除了这里解释的工人,这似乎已经解决了我的问题,现在它为我节省了大量时间-太愚蠢了,没有解释的错误消息;-)-thx@notherdev这可能对生产解决方案/应用程序没有帮助。此处相同。如果有一个选项可以禁用开发时检查,那就太好了。@user1383029您可以创建一个自签名证书,并将其作为受信任的根ca添加到浏览器中。然后,您可以使用此ca对为任何域生成的证书进行签名。