Safari 浏览器扩展有没有办法检测自己的卸载?
我想向 Google Analytics 发送一个事件来跟踪我的扩展程序的卸载率。
Safari 浏览器扩展有没有办法检测自己的卸载?
我想向 Google Analytics 发送一个事件来跟踪我的扩展程序的卸载率。
在开发论坛上四处搜寻后,我发现 Safari 显然没有此类事件(与 Chrome 不同),或者如果有的话,它们是无证的(因此不打算使用)。我认为你最好的选择是:
b) 设置一个外部服务,可以监控 ~/Library/Safari/Extensions 或 Extensions.plist 文件以进行删除(考虑到安全风险,这可能非常困难)
c) 通过每天或其他时间间隔 ping 一次外部服务来跟踪活动用户群。然后可以通过活动的下降来估计删除/不活动率。
您可以在全局文件脚本中注册 window.onunload 事件以检测何时卸载扩展。最好将 addEventListener() 与“卸载”一起使用,因为 safari 可能会使用该事件来清除扩展存储。还要确保在扩展更新或重新加载的情况下检测事件是否触发,因为在这些情况下,全局页面也会被卸载。
window.addEventListener("unload", function() {
//handle uninstall event
});