jjzjj

serviceWorker

全部标签

javascript - 使用 ServiceWorker 的永久浏览器缓存

我正在设计一个JavaScript安全加载器。加载程序内嵌在index.html中。安全加载器的目标是只加载受信任的JavaScript资源。index.html的内容主要限于安全加载程序。出于安全考虑,我希望index.html(存储在缓存中)永远不会更改,即使我的网站被黑也是如此。如何在服务器无法篡改缓存的情况下缓存index.html?我想知道ServiceWorker是否可以提供帮助。实际上,index.html会注册一个serviceworker以从不可变缓存中获取自身(甚至不发出网络请求)。 最佳答案 在chrome中你

javascript - 如何: ServiceWorker check if ready to update

我要实现的目标:使用加载器/微调器渲染页面如果service-worker.js已注册并处于事件状态,则检查更新如果没有更新,则移除loader如果updatefound并且安装了新版本,则重新加载页面否则注册service-worker.js当updatefound时,意味着安装了新的,移除loader我正在使用sw-precache模块来生成service-worker.js和以下注册码:window.addEventListener('load',function(){//showloaderaddLoader();navigator.serviceWorker.register

javascript - 仅在离线时使用 ServiceWorker 缓存

我正在尝试将serviceworker集成到我的应用程序中,但我发现serviceworker即使在线时也会尝试检索缓存的内容,但我希望它在这些情况下更喜欢网络。我怎样才能做到这一点?下面是我现在拥有的代码,但我认为它不起作用。为简洁起见,省略了软件安装代码。varCACHE_NAME='my-cache-v1';varurlsToCache=[/*mycachedfilelist*/];self.addEventListener('install',function(event){//Performinstallstepsevent.waitUntil(caches.open(CAC

vscode加载web 视图,报错:“Error: Could not register serviceworkers: InvalidstateError: Failed to regist“

解决办法:1、关闭vscode2、按WIN+R,输入cmd,打开终端,然后输入命令code--no-sandbox3、会重启vscode,就可以正常使用了。注:我F1重启了几次还是报错,最后把全部vsCode窗口关闭重新打开就好了

html - 在 ServiceWorker 中访问 indexedDB。竞争条件

在ServiceWorker中演示indexedDB的例子还不多,但我看到的都是这样结构的:constrequest=indexedDB.open('myDB',1);vardb;request.onupgradeneeded=...request.onsuccess=function(){db=this.result;//Average8ms};self.onfetch=function(e){constrequestURL=newURL(e.request.url),path=requestURL.pathname;if(path==='/test'){constresponse=

html - 在 ServiceWorker 中访问 indexedDB。竞争条件

在ServiceWorker中演示indexedDB的例子还不多,但我看到的都是这样结构的:constrequest=indexedDB.open('myDB',1);vardb;request.onupgradeneeded=...request.onsuccess=function(){db=this.result;//Average8ms};self.onfetch=function(e){constrequestURL=newURL(e.request.url),path=requestURL.pathname;if(path==='/test'){constresponse=

javascript - Chrome Network DevTools 中的 "Status Code:200 OK (from ServiceWorker)"?

我熟悉http状态代码,但最近我在我的chrome调试器中看到一条奇怪的线。而不是普通的StatusCode:200OK我看到了以下内容:StatusCode:200OK(fromServiceWorker)。我的猜测是,这只是告诉我ServiceWorker以某种方式负责访问该文档,但这只是随机猜测。任何人都可以权威地(没有猜测,有受人尊敬的资源的链接)告诉我这是什么意思,有什么影响? 最佳答案 这是一个常见的混淆来源,所以我想更详细一点。我在thisGist中有一个完整的工作演示,您可以查看liveversionofit感谢Ra

javascript - Chrome Network DevTools 中的 "Status Code:200 OK (from ServiceWorker)"?

我熟悉http状态代码,但最近我在我的chrome调试器中看到一条奇怪的线。而不是普通的StatusCode:200OK我看到了以下内容:StatusCode:200OK(fromServiceWorker)。我的猜测是,这只是告诉我ServiceWorker以某种方式负责访问该文档,但这只是随机猜测。任何人都可以权威地(没有猜测,有受人尊敬的资源的链接)告诉我这是什么意思,有什么影响? 最佳答案 这是一个常见的混淆来源,所以我想更详细一点。我在thisGist中有一个完整的工作演示,您可以查看liveversionofit感谢Ra

vscode加载web 视图,报错:“Error: Could not register serviceworkers: InvalidstateError: Failed to regist“

解决办法:1、关闭vscode2、按WIN+R,输入cmd,打开终端,然后输入命令code--no-sandbox3、会重启vscode,就可以正常使用了。

android - ServiceWorker 注册失败 : DOMException: Only secure origins are allowed (see: https://goo. gl/Y0ZkNV)

我编写了代码来获取GCMid以发送chrome推送通知。我写了下面的代码来获取GCMid。varChromePushManager=function(serviceWorkerPath,callback){if('serviceWorker'innavigator){navigator.serviceWorker.register(serviceWorkerPath).then(function(registration){//Registrationwassuccessfulconsole.log('ServiceWorkerregistrationsuccessfulwithsco