javascript - workbox serviceworker 在除 Chrome : Uncaught (in promise) DOMException 之外的任何地方工作

标签 javascript webpack workbox workbox-webpack-plugin

Workbox 不适用于 Chrome,但它适用于其他任何地方, 这很讽刺,因为我相信这是一个谷歌图书馆, 显示的错误是:

Uncaught (in promise) DOMException : sw.js line 1

Chrome :

enter image description here

歌剧 enter image description here

火狐 enter image description here

我正在使用 workbox-webpack-plugin

webpack.config.js

    const workbox = require('workbox-webpack-plugin'); 

    module.exports = {
        plugins: [
            new workbox.GenerateSW({
                swDest: './service-worker.js',
                skipWaiting: true,
                clientsClaim: true
            })
        ]  
 }

index.ts(入口)

if ('serviceWorker' in navigator) {
  window.addEventListener('load', function() {
    navigator.serviceWorker.register('/js/app/dist/service-worker.js');
  }); 
}

编辑:这是抛出错误的代码行

enter image description here

enter image description here

编辑 2: 它实际上适用于隐身模式,删除浏览器数据仍然无济于事。

enter image description here

编辑 3: 更新到最新的 beta 1 更糟,因为除了最后一个错误之外,它还会显示另一个错误,但是,这个版本可以在 Chrome 的隐身模式和其他浏览器中运行。

enter image description here

最佳答案

如果浏览器超出分配的磁盘空间配额,通常会抛出此错误。 您的隐身模式正在运行,因为它将分配新的磁盘配额,而普通选项卡共享相同的磁盘配额。

您可以在开发者工具中打开Application 选项卡并单击Clear storage > Clear site data 吗?在大多数情况下,这应该可以解决此问题。

Disk Quota

关于javascript - workbox serviceworker 在除 Chrome : Uncaught (in promise) DOMException 之外的任何地方工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54198028/

相关文章:

javascript - 如何从 html 调用 JavaScript 函数

reactjs - 如何在 create-react-app 中启用源映射?

javascript - notificationclick 事件服务 worker

logging - 使用 workbox-webpack-plugin 时启用日志记录

javascript - 如何从 Service Worker 调用缓存的 ManifestEntry Javascript 函数?

Javascript |将 src 更改为数据属性事件

javascript - Facebook 评论导致 iPhone 和 iOS 版 Safari 出现 javascript 错误

Webpack && stylus-loader 错误地解析 url 路径

javascript - 使用字符串与属性名称进行 Angular 绑定(bind)

css - VueJS + Webpack + 动态 CSS