Safari浏览器扩展程序是否有办法检测自己的卸载?
我想向Google Analytics发送一个事件,以跟踪我的扩展程序的卸载率。
答案 0 :(得分:3)
在开发论坛上爬行之后,我发现Safari显然没有这样的事件(不像Chrome),或者如果有的话,它们没有文档记录(因此不打算使用)。我认为你最好的赌注是:
a)通过Apple's bug-reporting and feature-requesting site
申请此功能b)设置一个外部服务,可以监控〜/ Library / Safari / Extensions或Extensions.plist文件进行删除(考虑到安全风险,这可能非常困难)
c)通过每天或某个其他时间间隔对外部服务进行一次ping操作来跟踪活动用户群。然后可以通过活动下降来估计删除/不活动率。
答案 1 :(得分:0)
您可以在全局文件脚本中注册window.onunload事件,以检测何时卸载扩展。最好使用addEventListener()和'卸载'因为safari可能正在使用该事件来清除扩展存储。还要确保在扩展更新或重新加载时检测事件是否正在触发,因为在这些情况下也会卸载全局页面。
window.addEventListener("unload", function() {
//handle uninstall event
});