如何检测Chrome扩展程序卸载

Yos*_*osi 9 javascript google-chrome-extension

我试图检测我的扩展程序是否已卸载.

我无法使用,chrome.management.onUninstalled因为它会在其他扩展名上被触发.

Tim*_*orr 21

从Chrome 41开始,您现在可以在卸载扩展程序时打开URL.这可能包含退出调查或跟踪卸载事件作为某种分析.

  • 如果您突出显示扩展代码仍然无法检测/响应被卸载,将会很有帮助. (2认同)
  • 您可以将设备上本地存储的用户的详细信息作为URL参数发送.如果您有服务器,则可以使用此服务器发送详细信息并跟踪已卸载的用户 (2认同)

vik*_*iii 12

与Firefox不同,谷歌浏览器不允许检测用户何时卸载扩展程序,这对了解用户行为非常有用.crbug.com上一个功能请求,讨论了这个功能,但尚未实现.

  • 我所做的基本上是为我的孤立内容脚本设置一个模糊事件,以获得间隔的1像素图像,如果窗口是模糊的,它无法获取图像,因为没有安装扩展我然后重新加载页面.这是jank,但它的工作原理. (2认同)

Fen*_*Liu 6

您可以呼叫chrome.runtime.setUninstallURL("www.example.com/survey")用户并将其重定向到一个 url。不幸的是,一旦删除扩展程序,后台脚本也将被删除,并且您无法执行诸如记录事件或将命中发送到谷歌分析之类的操作。

我所做的是将重定向 url 设置为我的服务器端点,并执行一些任务,例如将事件记录到我自己的数据库中,或将命中发送到谷歌分析(ga hit builder)。然后调用res.status(301).redirect("www.example.com/survey")一些调查网址。最后我可以将卸载事件发送给谷歌分析。