-
1 votesanswersviews
在angular app中,importScripts未定义firebase
在firebase-messaging-sw.js中 importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js '); importScripts(' https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js 因“未定义importScripts... -
4 votesanswersviews
Service Worker:cache.match(request)返回undefined
我有一个简单的服务工作者,它将两个资源(index.html,app.js)添加到缓存中(在安装时),删除旧缓存(在激活时)并从缓存中提供资源(如果存在),否则从网络中提供(在取) . 要使新服务工作者注册并删除旧缓存,我会使用每个新资源版本增加CACHE_NAME中的版本号: var CACHE_NAME = 'test-cache-v4'; var urlsToCache = ['./','.... -
0 votesanswersviews
Service Worker从缓存获取请求,因此页面不会从新数据更新
我正在尝试在我的AngularJS项目中实现服务工作者,目的是如果服务器(在我的情况下是nginx)重新启动,那么必须在那段时间显示离线页面,但我坚持在另一种情况下 . 我有一个页面,我使用GET请求列出项目,它从服务器获取响应(第一次),响应数据存储在缓存中但是我的页面在定期间隔内更新,所以使用这种技术新数据不是立即显示 . 这种方法有什么问题,请提出更好的方法 . 文件夹结构 . ├── ap... -
4 votesanswersviews
Angular 5 Service worker无法工作/不缓存背景图像
我无法让我的angular5服务工作人员上班 . 我有两个主要问题: 服务工作者不会缓存用作背景图像的资产图像 模拟网络断开后,服务工作者最初从缓存中提取文件(上述非缓存文件除外),但在第二次刷新后,它会遇到错误 . 以下是我的问题的更详细的报告 . 你可以跟进克隆我做的回购以突出显示这个问题here. 我使用提供的--service-worker标签创建了应用程序 . 然后我确保遵循... -
2 votesanswersviews
Angular Service Worker - Rest API数据
我正在尝试在Angular 5项目中设置Progressive Web App . 我也使用Angular Universal进行服务器端渲染 . 我在从API缓存数据时遇到问题 . 我做了一个看起来像https://example.net/getContent/param_1/param_2/param_3的Rest API . 其中 param_1 是路由参数的页面名称, param_2 是一... -
5 votesanswersviews
使用@ angular / service-worker缓存Google Maps API
我正在开发一个Angular 5项目,并希望使用@ angular / service-worker包提供PWA功能 . 我无法设法缓存并提供Google Maps API请求(例如磁贴) . 在线时不会缓存响应,因此在离线时也不会提供响应 . 我尝试了什么: 将 Map URL添加到dataGroups:No Error,但也没有缓存,当脱机时我得到以下错误: ERROR错误:未捕获(在承诺... -
8 votesanswersviews
angular-cli更新未定义错误的service-worker id
我遵循了角度的官方指南并成功安装了初始服务工作者 . 接下来我想尝试更新行为并得到一个 TypeError:无法读取未定义的属性“id” 其中id指的是ngsw-worker.js中方法中的client.id async updateClient(client) { // Figure out which version the client is on. If it's no... -
3 votesanswersviews
角度服务工作者不缓存帖子请求
有谁知道角度服务工作者是否没有缓存帖子请求?我使用@angular 5.2.5将它集成到我的应用程序中并缓存了一些请求,但其中一些是帖子,即使它们与我指定的urls patern匹配,也不会缓存 . 这是我的ngsw-config.json { "index": "/index.html", "assetGroups": [ ... -
1 votesanswersviews
服务工作者不仅仅为外部图像工作
我正面临服务工作者的一个奇怪问题 . 我需要从外部服务器加载图像,所以我使用ngsw-config.json的以下配置 "dataGroups": [{ "name": "api-performance", "urls": [ "/api", "im... -
1 votesanswersviews
angular 6服务工作者数据组无法正常工作
嗨,我正在尝试部署一个后台服务工作者,在这种情况下,在一些时间间隔内调用api 3s,但它接缝不起作用,当我去应用程序时,我没有得到服务器的请求 . 我在ngsw-config.json中的数据组代表: "dataGroups": [ { "name": "app-service-list", "... -
1 votesanswersviews
停止服务工作者获取事件缓存特定文件
我正在侦听服务工作者中的获取事件,并想知道何时对缓存的获取进行响应? 1)触发获取事件时? PreventDefault()来阻止它? 2)我是否需要缓存:在我的FETCH调用的INIT参数上没有存储? 3)它是否发生在event.respondWith()时间? 我有一个数据传输策略,旨在尽可能新鲜地提供数据,并且只在网络缓慢时才进入缓存 . 但即使这样,网络提取仍会运行,以便在缓存完成时更新缓... -
0 votesanswersviews
即使服务工作者与service-worker.js位于同一目录中,它也会缓存但不会获取
下面是我的代码 service worker . 对于安装部分,它将缓存我的静态文件,但问题出在获取期间 . 它甚至不会触发fetch事件 . 我在缓存存储器中检查了它是否存储了文件 请帮忙 . 谢谢 if ('serviceWorker' in navigator) { navigator.serviceWorker .register('/dist/js/service-worker... -
8 votesanswersviews
为什么必须在服务工作者中克隆获取请求?
在Google的一个服务工作者示例中,cache and return requests self.addEventListener('fetch', function(event) { event.respondWith( caches.match(event.request) .then(function(response) { // Cache hit... -
2 votesanswersviews
在服务工作者中预取资产真的是最好的主意吗?
我已经看到,使用Service Workers的所有脱机Web应用程序示例都包含以下模式,用于在安装时预取其资产: self.addEventListener('install', function(event) { event.waitUntil(caches.open('assets').then(function(cache) { return cache.addAll([ ... -
1 votesanswersviews
从服务工作者返回的javascript中的响应对象中的json内容
对不起,如果是微不足道的,或者已经被问过,我找不到任何关于此的问题 . 我不知道我是否也是对的...... 我刚刚开始学习服务工作者: 我想从服务工作者返回一些json对象以获取特定请求 . N.B . :代码只是测试/学习代码:服务工作者获取事件: self.addEventListener('fetch', function(event) { if(event.request.url.ind... -
4 votesanswersviews
如何防止硬重载绕过服务工作者?
硬重新加载或硬刷新(例如,Chrome中的转移重新加载)似乎绕过服务工作者 . 例如,加载服务工作者控制的页面,如https://airhorner.com/或https://wiki-offline.jakearchibald.com/,在devtools中将网络设置为"offline",然后硬重新加载页面会导致页面损坏"there is no internet c... -
0 votesanswersviews
serviceworker是否可以向url请求添加标头
我有一个网站,我不想让人们创建帐户 . 这是一个新闻Feed,每篇新闻文章都有分类 . 我希望允许人们标记他们感兴趣的类别,以便下次他们访问该网站时,它只会显示已标记类别的新闻 . 我将标签保存在indexedDB中,据我所知,它可以在服务工作者中使用 . 因此,在我的服务工作者中,我想"intercept"请求 www.my-url.com ,检查indexDB这个人感兴趣的... -
2 votesanswersviews
通过缓存xor indexedDB响应获取请求
我正在尝试让服务工作者根据请求的类型响应获取事件 . 对于静态资源,我使用缓存: // TODO: make cache update when item found const _fetchOrCache = (cache, request) => { return cache.match(request).then(cacheResponse => { // foun... -
12 votesanswersviews
如何防止同一服务工作者注册多个页面?
我有一个服务工作者脚本,它在多个站点级别上重复注册 . 换句话说,同一服务工作者在www.site.ca/,www.site.ca/text-text,www.site.ca/example-example等注册 . 该网站 Build 在PHP上,根据内容生成不同的网址,因此类似API . 服务工作者注册在这些页面上的原因是因为大多数站点流量落在这些页面而不是主页上 . 结果是同一服务工作者在不... -
5 votesanswersviews
无法从服务工作者访问indexeddb
我已经在indexeddb中存储了数据,我试图在服务工作者中访问这些数据 . 但是没有完成打开indexeddb的请求,它正在等待 . 因此,我无法访问数据 . 在解决问题方面需要帮助 . 下面是我从服务工作者访问数据的代码 . var idbSupported = false; var db; self.addEventListener('push', function(){ if("... -
12 votesanswersviews
服务人员不更新
我在我的网站上安装了一个服务工作者,一切正常,除非我将更新推送到缓存文件,实际上;他们永远被 grab 了,除非我从`chrome:// serviceworker-internals /取消订阅工作人员,否则我似乎无法使缓存无效 const STATIC_CACHE_NAME = 'static-cache-v1'; const APP_CACHE_NAME = 'app-cache-#VERS... -
3 votesanswersviews
为什么Service Worker在localhost上运行时似乎没有写入Google Chrome控制台?
我有一个使用新服务工作者(渐进式网络应用程序)的非常简单的示例 - 请参阅https://developers.google.com/web/fundamentals/getting-started/primers/service-workers 当我从localhost运行我的应用程序时,该示例似乎无法在console.log()上写入 . 但是,它确实适用于我创建的plunkr . 以下是在p... -
1 votesanswersviews
脱机时删除Chrome应用缓存
我打算使用服务工作者使Web应用程序脱机 . 当我有Internet连接时,缓存存储显示文件 . 但是,如果我离线,缓存似乎消失了 . 我没有在“服务工作者”选项卡中启用“重新加载时更新”复选框 . 我的服务工作者的fetch事件是: self.addEventListener('fetch', function(e) { console.log('[ServiceWorker] Fetch'... -
0 votesanswersviews
如果缓存名称不同,请手动更新servceworker缓存
所以我有一个PWA,我想添加一个按钮,让用户知道有一个新版本可用,以便他们可以更新所有文件,如果他们有互联网连接 . 每次运行 gulp build 时,它都会为服务工作者缓存名称添加时间戳,因此它总是新鲜的,但它不会更新缓存的文件 . 这是gulp任务,它做到了: gulp.task('serviceWorkerCache', function(){ gulp.src(['dist/se... -
0 votesanswersviews
将数据写入服务工作者的firebase
我正在使用create-react-app样板实现一个带反应器的pwa . 当pwa应用程序在后台运行时,我需要实现每分钟获取当前位置(lat,lng)的功能,并更新firebase实时数据库中的值 . 所以我试图在服务工作者中实现功能 . 我正在尝试使用SWPrecacheWebpackPlugin导入firebase实例的脚本 . 配置如下: new SWPrecacheWebpackPlug... -
1 votesanswersviews
在注册服务工作者之前尝试运行获取功能 .
我正在尝试运行一个获取函数,它将从我的服务器获取一些值 . 但由于某种原因,服务工作者的注册首先触发,并且其“app_key”未定义,导致它抛出异常 . 这似乎是一种竞争条件,我不知道如何解决 . 我不确定如何将值分配给变量以确保它们可被其他函数看到 . 任何建议,将不胜感激 . project_url = window.location.hostname; var vapi_key; var ... -
1 votesanswersviews
运行浏览器内开发服务器[如stackblitz / codesandbox]
问题: How to run a live in-browser dev server? 上下文 Stackblitz和CodeSandbox是两个提供在线IDE来开发Web应用程序的平台 . 我有一个类似的用例,需要在浏览器开发服务器中运行,但除了这几个观察之外,我找不到多少 . 几点观察 Stackblitz,在他们的announcement post描述他们使用,"Prog... -
9 votesanswersviews
在角度app中使用Webworkers(angular-cli中的数据的服务工作者缓存访问)
我希望使用worker运行一个函数(在后台) . 数据来自http请求 . 我使用模拟计算 (e.data[0] * e.data[1] * xhrData.arr[3]) (由返回实际算法结果的函数替换)如下: var ajax = function() { var prom = new Promise(function(resolve, reject){ if (!!... -
1 votesanswersviews
使用服务工作者时,脱机页面未显示在获取功能中?
我刚刚开始学习服务工作者一天前 . 根据我的学习,我想创建一个离线应用程序 . 我创建了2页,即 demo.html 和 offline.html . 我的目标是,当没有互联网连接时,我必须显示offline.html . 我已经在我的测试服务器中发布了我的文件 . 它有SSL连接 . 当我通过键入https://example.com/sampleapp/访问我的网站时,默认情况下 demo.... -
2 votesanswersviews
服务工作者已注册并已激活但在脱机模式下不起作用
在UI5应用程序中,我在index.html中注册了我的服务工作者: $(document).ready(function() { if ('serviceWorker' in navigator) { navigator.serviceWorker .register('service-worker.js', { scope: './' }) .then(fu...