我有一个带有HTML表单和一些基本jQuery / AJAX的页面。没有警告,没有错误,一切正常。但是,当我打开选项卡时,随着时间的流逝,我会收到很多这样的错误:
VM15 newtab-serviceworker.js:16
Uncaught (in promise) ReferenceError: FILES is not defined
这是newtab-serviceworker.js的开头(包括第16行(在下面的预览中为14)):
var EXTRA_FILES = ["/xjs/_/js/k=xjs.ntp.en.BHgEJkq1PQM.O/m=sx,jsa,ntp,d,csi/am=AEAMAI5MJQ/rt=j/d=1/rs=ACT90oGgBiwQpyhfkvk6s0qgYagIFi8yXQ",];
var CHECKSUM = "o9h2ps";
var BLACKLIST = [
'/gen_204\?',
'/async/',
'/complete/',
];
var CACHENAME = 'newtab-static-' + CHECKSUM;
self.addEventListener('install', function(event) {
event.waitUntil(caches.open(CACHENAME).then(function(cache) {
return cache.addAll(FILES);
}));
});
这甚至是与代码相关的问题吗?对我来说,听起来像是浏览器方面的东西。我找不到与此有关的一些信息。
答案 0 :(得分:1)
这与Google的reCAPTCHA有关。将Google的reCAPTCHA v3添加到页面后,我开始在Chrome中收到相同的错误。
我唯一注意到的是reCAPTCHA过期回调未调用我的函数,因此这可能是相关的。
否则,您可以放心地忽略此错误。
答案 1 :(得分:0)
您已定义了变量EXTRA_FILES
:
var EXTRA_FILES = ["/xjs/_/js/k=xjs.ntp.en.BHgEJkq1PQM.O/m=sx,jsa,ntp,d,csi/am=AEAMAI5MJQ/rt=j/d=1/rs=ACT90oGgBiwQpyhfkvk6s0qgYagIFi8yXQ",];
在缓存代码中,您确实使用了FILES
变量:
self.addEventListener('install', function(event) {
event.waitUntil(caches.open(CACHENAME).then(function(cache) {
return cache.addAll(FILES);
}));
});
认为您只需要纠正此问题即可。
答案 2 :(得分:0)
看起来像是一个Chrome服务工作者,当您打开新标签页时,该服务便在运行,快速搜索将我带到了源代码here。
打开新标签页,在MacOS上运行Chrome版本71.0.3578.98后,我遇到了同样的问题。
似乎可以安全地忽略并且不应该影响您的代码,但是无论如何我都已经向Chrome开发人员报告过。希望这只是一个错误放置的变量,他们可以很容易地解决它。