- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试与服务 worker 合作以缓存并遇到经过身份验证的调用的问题。我目前正在使用 https://css-tricks.com/serviceworker-for-offline/ ( https://raw.githubusercontent.com/chriscoyier/Simple-Offline-Site/master/js/service-worker.js ) 作为模板,尽管我使用 Google 的 sw-toolbox 看到了相同的行为。
当发出依赖特定 header 参数进行身份验证的请求时,浏览器似乎发出了一个失败的初始请求,然后是一个成功的请求(见图)。有没有想过为什么会这样?还有其他可能有用的详细信息吗?
提前致谢,丹
最佳答案
“需要 Service Worker 回退”消息是 an internal error message这应该已经随着 Chrome 46 消失了。编辑:不过看起来它可能没有被修复,这可能会导致所描述的问题。我们正在跟进该错误。
一个更普遍的回应是,当您处理对经过身份验证的请求的响应时,您需要非常小心地处理服务 worker 缓存的方式。以下通用示例代码可能会反过来咬你,我建议你在继续之前回答以下问题:
如果您对一种方法感兴趣,可以通读 relevant section of the case study与 Google I/O 2015 web app 有关,它采用了一种对我们处理的数据类型有意义的方法。有一些 additional code使用 sw-toolbox
(以前称为 shed
)也是相关的。但所有这些问题的答案都取决于您的具体用例,因此请在实现任何事情之前三思而后行。
编辑:根据对此答案的评论,其目的是完全避免服务 worker 与经过身份验证的请求进行交互。如果是这种情况(这肯定会简化其他问题的答案),那么您应该能够做一些简单的事情,例如:
self.addEventListener('fetch', event => {
// Only call event.respondWith() if the request doesn't include an
// Authorization header. You can swap in your own header name.
if (!event.request.headers.has('Authorization')) {
event.respondWith(
// Your standard fetch(), caches.match(), etc. logic goes here.
);
}
});
这种方法利用了这样一个事实,即如果服务 worker 的 fetch
事件处理程序不调用 event.respondWith()
,则网络请求最终将继续进行如果根本没有任何服务人员参与。
关于offline - 服务人员打额外电话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34035667/
sls 离线命令停留在“离线:启动离线 SQS:本地/us-east-1”。 "serverless-offline": "^6.8.0", "serverless-offline-sqs": "4.
需要关于使用 redux 的大型 React Native 移动应用程序使用哪个库的建议? redux-离线 或 react-native-offline ? 我需要定期检查连接状态,根据连接状态呈现
我正在使用 Redux Offline在我的 Angular 项目中,现在我想在离线模式下启用取消发件箱中的项目。基本上,我只想过滤发件箱数组以删除我想要取消/修改的项目。 我的问题是它从我在顶级 r
我有一个只能离线工作的应用程序,但由于项目的设置方式,它需要互联网连接启动。我知道问题出在 spring.xml 中的 xsi:schemaLocation 属性,但对 Spring 不太了解,不知道
这就是一大堆错误。我已经安装了所有最新版本的Ffltter和Android Studio,还重新安装了Android SDK,并运行了ADB KILL-SERVER和ADB START-SERVER命
这就是一大堆错误。我已经安装了所有最新版本的Ffltter和Android Studio,还重新安装了Android SDK,并运行了ADB KILL-SERVER和ADB START-SERVER命
我在 Android 4.1 版本和代理后面。我已经设置了代理设置并且 sdk 下载工作正常。但是当我创建一个新项目时,它会抛出错误: Could not GET 'https://dl.google
我正在尝试与服务 worker 合作以缓存并遇到经过身份验证的调用的问题。我目前正在使用 https://css-tricks.com/serviceworker-for-offline/ ( htt
即使用户清除了缓存和 cookie,我也想让我的网站离线可用。有可能吗?我也在处理数据库。是否可以离线处理数据库? 最佳答案 用户可以存储 本地 的副本单例网页使用 Chrome(右键单击另存为),它
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 3年前关闭。 Improve this qu
我想从服务器下载 mp4 视频到我的 Android 设备。我希望这个视频以 block (加密)的形式存储,并且应该在视频播放时实时组合。如何着手解决这个问题。 最佳答案 对于这样的样本 publi
我一直在与社交集成和授权的 oauth 框架密切合作。我知道,像 Facebook 一样,Twitter 为其应用程序实现了一个 oauth Hook 。我的问题是,有没有办法让访问 token 永远
我在我这边使用 OpenStreetMap,但它可以通过他们的页面工作。我想知道是否可以下载一些 map 并使用本地服务器。到目前为止,我发现了这样的事情: http://openlayers.org
我正在考虑使用 Firebase 使用 PhoneGap 和 HTML5 应用程序缓存编写移动应用程序。 让我们假设每个用户都有一个 TODO 项目列表。如果应用程序在手机离线时启动,它是否能够从上一
我正在运行我的 nodejs 代码并且还安装了无服务器( npm i -g serverless )但是在使用命令 sls offline start --CacheInvalidations 运行它
这在以下情况下很有用: 服务器已关闭,客户端无法连接进行实时同步 没有互联网连接 用户不想上网,但想使用应用程序; 最佳答案 是的!这大部分已经在 Meteor 中实现了。 如果与服务器的连接丢失,客
在c#中没有互联网连接时,有没有办法获取计算机的mac地址?当我有连接时我能得到,但当我离线时我不能得到。但强烈要求我的工作需要 mac 地址。 我的在线代码; var macAddr =
我想在此处 map 中离线显示转弯导航。我也下载了 map 并将 MapEngine 设置为 false 以在离线模式下使用它,但在计算路线时返回 map 数据不足错误。如何在离线模式下使用此处 ma
该应用程序执行简单的注册(使用 FirebaseAuth、FirebaseUI 和 Google 登录)。认证时成功 , 我拿firebaseUser.userId并使用它从实时数据库中获取用户配置文
在运行 Flutter doctor 以查看为什么我的物理 LG G6 设备没有被拿起后,我发现“设备离线”。 我试过谷歌搜索,拔下并重新插入设备。 似乎没有任何效果。 这是什么意思?我的设备确实启用
我是一名优秀的程序员,十分优秀!