9

Safari 浏览器扩展有没有办法检测自己的卸载?

我想向 Google Analytics 发送一个事件来跟踪我的扩展程序的卸载率。

4

2 回答 2

2

在开发论坛上四处搜寻后,我发现 Safari 显然没有此类事件(与 Chrome 不同),或者如果有的话,它们是无证的(因此不打算使用)。我认为你最好的选择是:

a) 通过Apple 的错误报告和功能请求站点请求该功能

b) 设置一个外部服务,可以监控 ~/Library/Safari/Extensions 或 Extensions.plist 文件以进行删除(考虑到安全风险,这可能非常困难)

c) 通过每天或其他时间间隔 ping 一次外部服务来跟踪活动用户群。然后可以通过活动的下降来估计删除/不活动率。

于 2014-07-26T06:15:32.077 回答
0

您可以在全局文件脚本中注册 window.onunload 事件以检测何时卸载扩展。最好将 addEventListener() 与“卸载”一起使用,因为 safari 可能会使用该事件来清除扩展存储。还要确保在扩展更新或重新加载的情况下检测事件是否触发,因为在这些情况下,全局页面也会被卸载。

window.addEventListener("unload", function() {
  //handle uninstall event
});
于 2018-02-26T09:42:34.060 回答