gpt4 book ai didi

facebook - 在 Facebook 浏览器中更新 Service Worker

转载 作者:行者123 更新时间:2023-11-30 05:22:23 25 4
gpt4 key购买 nike

遇到一个问题,我们的一些用户在我们网站的 Facebook 浏览器中有一个有问题的 Service Worker。

问题:当 Facebook 应用程序用户访问我们在 FB 上共享的页面时,他们在 FB 浏览器上看到我们的“您离线页面”。

该错误似乎是旧版本的 Google Workbox (3.6.1) 在使用 Chrome 75 的 FB 应用程序中自动返回“您离线”页面。更新 Workbox 修复了它。

Workbox 的引用在 service worker 中,所以当我们更新我们的 Workbox 版本(解决了这个问题)时,一些用户仍然缓存了旧版本。

如果用户清除他们的 FB 应用程序缓存或重新安装 FB,那么一切都很好,他们可以看到我们的内容。但我们想尝试强制 SW 更新而不要求他们这样做。

为了从 FB 浏览器中清除旧的 Service Worker,我们尝试了以下方法:

<script>
"use strict";
console.log("Service Worker Registration");

function isFacebookApp() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}

if ("serviceWorker" in navigator) {
if(isFacebookApp() == true) {
console.log("Service Worker Registration: using v2, via Facebook App");
navigator.serviceWorker.getRegistrations().then(function(registrations) {
for(let registration of registrations) {
console.log("Service Worker Registration: "+registration);
registration.unregister();
}
});
} else {
console.log("Service Worker Registration: using v2, not via Facebook App");
window.addEventListener("load", () => {
navigator.serviceWorker.register("/sw.js");
});
}
}
</script>

但是,我们的分析表明,您仍然离线页面上的点击率仍然很高,而且我们仍然收到用户的报告,他们可以点击指向我们文章的链接。

有人可以帮忙吗?有没有办法强制 FB 的应用内浏览器更新缓存,并让我们的用户使用有效的 Service Worker?

更新

到目前为止我们已经尝试过:

  • 通过在 SW 注册 URL 中使用查询字符串来欺骗浏览器更新 Service worker
  • 遍历注册和取消注册()ing(见上文)
  • 在 Service Worker 代码中使用 skipWaiting()
  • 在 sw.js 的 header 中添加“无缓存”
  • 确保 sw.js 没有被服务器缓存
  • 删除或更改 /offline 页面导致 net::ERR_FAILED 错误
  • 我们怀疑我们所有的 service worker 修订版都可能存在一些看不见的错误,因此我们尝试了一个“空”的 service worker 以查看它是否可行并清除其他的

我们的分析表明:

  • Chrome Mobile 75 可能是个问题
  • 问题似乎是从 6 月 7 日开始出现的。

没有任何效果:我们的 Service Worker 或某物仍在返回离线页面...

最佳答案

这是 Chrome/Chromium WebView 中的错误,在 https://bugs.chromium.org/p/chromium/issues/detail?id=977784 中进行了跟踪

此时应广泛推出修复程序。

关于facebook - 在 Facebook 浏览器中更新 Service Worker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56681774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com