在 Facebook 浏览器中更新 Service Worker

2024-04-28

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

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

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

对 Workbox 的引用位于 Service Worker 中,因此当我们更新 Workbox 版本(解决了问题)时,一些用户仍然缓存了旧版本。

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

为了从 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?

Update

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

  • 通过在软件注册 URL 中使用查询字符串来欺骗浏览器来更新 Service Worker
  • 迭代注册和 unregister()ing(见上文)
  • Using skipWaiting()在 Service Worker 代码中
  • 将“no-cache”添加到 sw.js 的标头中
  • 确保 sw.js 没有被服务器缓存
  • 删除或更改/offline页面导致net::ERR_FAILED error
  • 我们怀疑所有 Service Worker 修订版中可能存在一些看不见的错误,因此我们尝试使用“空”Service Worker 来查看是否有效并清除其他 Service Worker

我们的分析表明以下内容:

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

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


这是 Chrome/Chromium WebView 中的一个错误,已在https://bugs.chromium.org/p/chromium/issues/detail?id=977784 https://bugs.chromium.org/p/chromium/issues/detail?id=977784

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Facebook 浏览器中更新 Service Worker 的相关文章

  • 如何持续获取某个 URL 的 Facebook 点赞数?

    我有一个可以表示为 HTTP 和 HTTPS 的 URL 从技术上讲 它们是不同的 URL 但似乎一致认为它们是 相同的 在此示例中 HTTP URL 重定向到 HTTP URL 这种情况在很多情况下都会发生 但我正在使用facebook
  • 分享到 Facebook 墙,不弹出对话框

    我正在 Rails 中构建一个 Facebook 应用程序 用户在其中创建一个条目并将其提交到其他用户的条目集合中 我想做的是在提交时自动将指向该条目的链接共享到用户的墙上 但我无法理解 Graph API 文档在没有弹出对话框的情况下执行
  • Android:无法找到 com.facebook.wakizashi.provider.PlatformProvider 的提供商信息

    我现在被困了好几天了 我正在 facebook 中使用 PhotoShareDialogBu ilder 我使用了这样的内容提供程序
  • 如何让付费版和免费版iOS应用共享FB App ID?

    我有同一个 iPhone 应用程序的免费版和付费版 我希望他们共享一个 Facebook 应用程序 ID 因为它们本质上是同一个应用程序 我认为我可以通过使用 Facebook 类中的这个方法来完成此任务 void authorize NS
  • 如何在 Parse Cloud 代码中访问 Facebook Graph API?

    我需要在云函数中获取在我的 Parse 应用程序中使用 Facebook 登录的用户的好友 我怎样才能实现这个目标 我尝试安装facebook node sdk https github com Thuzi facebook node sd
  • Facebook 墙写应用

    我想知道我是否可以编写一个应用程序 它可以是我所有朋友的列表 只需在我选择的朋友的墙上发布一条消息即可 不是消息 而是墙上的帖子 所以看来我去了他们的墙并写了一条消息 他们不知道有一个应用程序正在向他们推送消息 也可以用 python 编写
  • Facebook 图表访问封闭群组提要/帖子

    我正在尝试获取 Facebook 上特定群组的帖子列表 即closed 我也是not管理员 只是该组的成员 当我尝试通过图形资源管理器访问该组的帖子时 我检查了所有权限 我收到返回的空列表 Facebook 不允许此访问的原因是什么 如果我
  • 如何在回调函数之外使用 FB.api(JS SDK) 响应?

    我在登录甚至调用 api 方面没有任何问题 我只是在 api 回调之外获取响应时遇到问题 我知道它是异步运行的 所以我想将它放在一个返回响应的函数中 这是我的想法 What I would like to be able to do fun
  • CSS:DIV 中的文本被截断

    我正在致力于集成一个 jQuery 插件 该插件会隐藏页面的某些部分 直到用户单击 喜欢按钮 Facebook 小部件的部分文本被切断 我已经尝试过 CSS 但无法让它完全显示 如果容器的宽度设置正确 还有什么可能导致文本被截断 例子 ht
  • Open Graph 对象调试器与站点中的 Facebook 共享不匹配

    我正在 angularjs 应用程序中实现一个 facebook 共享按钮 在完成所有必要的操作以更新我的元标记并由 Facebook 的爬虫读取后 我发现 Facebook 的调试器工具与共享对话框显示的内容不匹配 如果我在链接上运行调试
  • 如何在不进行列表搜索的情况下知道是否喜欢该帖子

    我尝试使用 fql 查询来获取 json 响应 我使用此代码来执行此操作 String postid jsonObject getString id String query SELECT likes user likes FROM str
  • 尝试在 Facebook 中注册成就时出现 OAuthException 2500(未知路径组件)

    我正在尝试为应用程序注册 Facebook 开放图谱成就 我获取应用程序访问令牌并使用开放图 API 资源管理器发布以下请求 请注意 上面的应用程序 ID 和访问令牌不是真实的 但是 我得到以下答复 error message Unknow
  • 如何检测 Facebook 应用内浏览器?

    您有过 Facebook 应用内浏览器检测的经验吗 用户代理的核心区别是什么 我不想知道它是否是唯一的移动 ios chrome 我需要知道用户代理是否特定于Facebook 应用内浏览器 您可以在用户代理中检查 FBAN FBAV 检查此
  • 自定义 Facebook FOSFacebookBundle 登录按钮

    有人知道如何自定义 更改 FosFacebook 登录按钮的图像吗 facebook login button autologoutlink true 并在整页 Facebook 登录上重定向 而不是在弹出窗口上重定向 这使用了 twig
  • 找不到处理意图 com.instagram.share.ADD_TO_STORY 的活动

    在我们的 React Native 应用程序中 我们试图让用户根据视图 组件中的选择直接将特定图像共享到提要或故事 当我们尝试直接使用 com instagram share ADD TO FEED 进行共享时 它以一致的方式完美运行 但是
  • Ajax 调用诸如 'for (;;); 之类的响应是什么? { json 数据 }' 是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么人们会写这样的代码 throw 1 和 for 在 json 响应前面 https stackoverflow com questions 3146798 why do people put c
  • Facebook API sdk 4.0 - 将照片发布到 Facebook

    我正在尝试创建一个应用程序 用户可以在其中浏览照片并将其从计算机提交到 Facebook 为此 他们首先必须将照片上传到服务器 然后使用 Facebook 请求将此图像发布到 Facebook 我正在使用多部分 表单数据 这就是我到目前为止
  • 连接到 Facebook 并使用 api

    有没有好的教程如何制作简单的控制台 Facebook 应用程序 连接到 Facebook 并获取朋友列表 用户照片 状态或其他内容 我查看了 facebook SDK 的 facebook 示例 但如果我想在 facebook 上授权 我必
  • 我需要一个实时网站来测试 Facebook Connect 吗?

    我正在尝试将 facebook connect 与 nmy 社交网站集成 目前用户在我的网站上使用自己的帐户创建和登录 但我希望允许用户基本上在我的网站上创建一个新帐户 但使用 facebook connect 登录 我我认为在我的网站上这
  • `navigator.geolocation.getCurrentPosition()` 在 iOS PWA 上挂起

    我有这个片段 const getCurrentPosition gt new Promise

随机推荐

  • Azure Functions - 使用具有托管标识的队列触发器

    我正在尝试将托管标识与 Azure Functions V3 和 QueueTrigger 结合使用 函数代码定义如下 Function ProcessUserData public async Task ProcessUserData Q
  • C 中的可移植函数(无汇编)返回其堆栈帧的大小

    用 C 编写一个可移植函数 无需汇编 返回其堆栈帧的大小 int stackframe size 尝试如下解决 该函数在使用 VS 2010 编译时返回 228 字节 有没有办法验证其正确性 int stackframe size int
  • 无需 root 即可安装 Jekyll

    我想在共享服务器上建立一个 jekyll 博客 当我尝试安装 Jekyll 时 我收到 您没有写入权限 如何在没有 root 或 sudo 的情况下解决这个问题 更多详情 我在共享服务器上有空间 但没有 root 访问权限 我无法安装 Ru
  • C++ 中的 memset 初始化

    memset 有时用于初始化构造函数中的数据 如下例所示 一般情况下有效吗 总的来说这是一个好主意吗 class A public A private int a float f char str 35 long lp A A memset
  • 使用 geom_line 绘制多条线(基于分组)

    请帮助我 关于当我尝试在 ggplot2 中使用 geom line 绘制分组的多条线时遇到的问题 当我尝试根据一个变量 列 即 区域 对行进行分组时 问题就出现了 GDP time series analysis gt group by
  • 在 KnockoutJS 中更改模型数据时,Javascript 内存泄漏

    我们正在构建一个相当大的单页应用程序 使用 KnockoutJS 作为 数据处理程序 问题是 当更改模型数据时 垃圾收集器不会处理旧模型 看起来如此 该应用程序有大约 12 个不同的模型 其中包含计算的可观察量 您可以使用它们检索关系 在
  • 如何在Python中访问列表列表中的列

    我在 python 中有一个由列表列表建模的二维数组 我想提取该列 我进行了快速研究 找到了一种使用 numpy 数组的方法 问题是我不想使用 numpy所以我不想将列表列表转换为 numpy 数组 然后使用 1 句法 我尝试在正常的列表列
  • MySQL服务器安装配置失败

    我试图使用 Windows x86 32 位 MSI 安装程序在本地计算机 Win7 32 上安装 MySQL 服务器 安装后向导配置服务器时出现错误 配置失败 详细信息 mysql server 5 5 win32 6 Looking f
  • 在Python中重命名多个文件[重复]

    这个问题在这里已经有答案了 如何重命名以下文件 abc 2000 jpg abc 2001 jpg abc 2004 jpg abc 2007 jpg 分为以下几项 year 2000 jpg year 2001 jpg year 2004
  • 预期关闭,发现不同的关闭

    A是一个包含向量的结构B A实施add b方法添加了一个B实例到列表B B包含一个闭包属性f 如果我添加一个B到向量add b 没关系 如果我将两个向量相加add b 我收到一个错误 说两个闭包不同 这是一个最小的例子 A struct s
  • QGeoCoordinate:没有这样的文件或目录

    我正在尝试使用 QtLocation 但不能 我不明白为什么 我在 ubuntu 14 04 上使用 qt5 3 2 这很奇怪 因为我将这一行添加到我的 pro 文件中 QT network CONFIG mobility MOBILITY
  • 优化 Excel VBA 代码

    我在 Excel 中有以下 VBA 代码 其目标是在找到给定文本时删除一行 并删除其正下方的行 它需要扫描大约 70 万行 大约需要一个小时才能扫描 10 万行 有人看到有什么优化吗 Sub RemovePageHeaders Applic
  • 我该如何修复此错误:您需要在此活动中使用 Theme.AppCompat 主题(或后代)

    我搜索了所有互联网网站来修复此错误 但我无法解决 我只想创建带有两个按钮 是 和 否 的 AlertDialog 这是我的代码 import android content DialogInterface import android su
  • 使用Visual C++进行Linux开发时是否可以直接使用linux文件夹/usr/include

    我尝试使用针对 ubuntu 16 04 VM 的 Visual C for Linux Development 插件 与虚拟机的连接以及本地文件传输到远程文件夹 home user projects projectx 均成功 但是 当我尝
  • Vim 中的类和函数名称高亮显示

    在沉迷于它的模态输入之后 我最近刚刚从 Textmate 设置了我的 Vim 环境 不过 Vim 中的语法高亮似乎不太美观 我用 C 编写代码 由于函数调用和类名无法突出显示 因此代码更难以阅读 我玩了一下配色方案 但找不到任何与 类名 或
  • Android 中的位图圆形裁剪

    我有一个方形位图显示在半透明圆圈下方 用户可以触摸并拖动位图来定位它 我希望能够裁剪位图位于圆圈下方的任何部分 我怎样才能做到这一点 看一下圆角位图Drawable http developer android com reference
  • groff:我可以嵌入图像吗?

    我正在生成一些 troff 风格的文档 有没有办法将图像 jpg等 嵌入到groff文件中 取决于输出格式 如果您要创建 PostScript 文件 则可以使用 PSPIC 它使用 PS 文件本身和单个图像 例如 PSPIC image p
  • SwiftUI 按钮在出现时更改文本大小

    从 GIF 中可以看出 一旦工作表完全打开 完成 按钮文本就会变大 这不仅发生在这个视图中 而且也发生在使用系统图像而不是文本的其他视图中 有谁知道问题的解决方案还是我做错了什么 我仍然对 Swift 记忆犹新 NavigationView
  • JQuery 工具提示 VS JQuery UI 工具提示 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Facebook 浏览器中更新 Service Worker

    遇到了一个问题 我们的一些用户在我们网站的 Facebook 浏览器中存在有问题的 Service Worker 问题 当 Facebook 应用程序用户访问我们在 FB 上共享的页面时 他们会在 FB 浏览器上看到我们的 您离线页面 该错