我正在开发一个pwa (带有类星体的vue应用程序),我真的很困惑,因为将选项作为指示包含在我的服务工作者workbox.core.skipWaiting()中会导致服务工作者注册失败,浏览器控制台中出现以下错误:
Uncaught TypeError: workbox.core.skipWaiting is not a function
另一方面,如果我创建一个自定义sw文件,并将指令重命名为workbox.skipWaiting(),则它工作正常,浏览器控制台没有报告错误。
环顾网络,我看到了这两种形式的引用,我找不到任何理由,这会导致错误。我还应该注意到,在我的同一个sw文件中使用cor
在我的react应用程序中,有一个服务工作者按照预期在浏览器中工作。不幸的是,当应用程序是用电子构建和打包的时候,服务人员不能工作。它似乎注册了,但是服务工作者抛出了一个错误- uncaught in promise typeerror failed to fetch
我能看到的唯一真正的区别是工人的起源。在电子文档中,它声明了一个文件路径,而浏览器中的那个声明了路径。这是使用电子11。这个应用程序是从create-react应用程序中用react编写的,该应用程序尚未被弹出。
我刚开始尝试使用服务工作者从我的web服务器缓存文件。我使用的正是谷歌建议的代码。我将服务工作者脚本上传到我的站点根文件夹,并在我希望服务工作者缓存文件的页面中包含到它的链接。
我的印象是,服务工作者只缓存urlsToCache变量中的文件,而服务工作者只能在调用(链接到)服务工作者脚本的页面上工作。
我的网站上有几个页面,我不想让服务人员在上面做任何事情。然而,它似乎仍然是被引用的。所讨论的页面根本不包含指向服务工作人员脚本的链接。我注意到,每次使用POST方法运行AJAX命令时,我的控制台中都会收到以下错误:
TypeError:请求方法'POST‘不受支持
at service
我一直在努力增强对JavaScript承诺和异步性的理解。据我所知,下面的示例将不能像预期的那样工作,并且"someStuff“将返回一个空数组。我还相信,我理解这是因为"doPromise“不阻塞,因此循环在"doPromise”解析之前完成并返回一个空数组。
我不明白的是,我如何才能完成本例中表达的相同功能,这是适当的方法。
我想我的问题是:做这件事的“正确”方法是什么?提前感谢!
function doPromise(number){
return new Promise((resolve,reject)=>{
resolve(num
我为我的创建了基本的Workbox 策略,如果网络离线,它应该返回请求中缓存的值。它部分起作用。实际上,它只返回两个请求的缓存值,而其他请求正在失败。在控制台中,我们可以看到有关未处理异常的错误,并且无法获取。我在想怎么可能?
服务工作者处理程序。
self.addEventListener('fetch', (event) => {
console.log(5555); // basically works every time
if (event.request.url.indexOf('favicon.ico') !== -1) {
ev
在生产过程中,我们遇到了服务人员的问题。我们不知道t use PWA feature but still have error. Is there way to avoid this?错误:服务工作者注册失败,出现以下错误: TypeError:无法使用脚本(‘)注册作用域(')的ServiceWorker :获取脚本时收到错误的ServiceWorker响应代码(404)。’
我希望使用一个工作人员运行一个函数(在后台)。数据来自http请求。我使用模拟计算(e.data[0] * e.data[1] * xhrData.arr[3]) (由返回实际algo结果的函数替换)如下:
var ajax = function() {
var prom = new Promise(function(resolve, reject){
if (!!XMLHttpRequest) {
var xhttp = new XMLHttpRequest();
xhttp.onload = function ()
我想使用服务工作者显示推送通知。在developer tools ->应用程序->服务工作器中,我有测试文本"a": "test message",我按下推送按钮,得到以下错误:
serviceWorker.js:48 Uncaught (in promise) TypeError: Failed to execute
'showNotification' on 'ServiceWorkerRegistration': No notification
permission has been granted for
在教程的帮助下,我写了一个服务工作者:
var CACHE = 'cache-and-update';
self.addEventListener('install', function (evt) {
console.log('The service worker is being installed.');
evt.waitUntil(precache());
});
self.addEventListener('fetch', function (evt) {
evt.respondWith(