在开发论坛上搜索后,我发现Safari显然没有这样的事件(不像Chrome),如果有的话,它们是未记录的(因此不应该使用)。我认为你最好的选择是:a)通过{{link1:Apple的错误报告和功能请求网站}}请求该功能。b)设置一个外部服务,可以监视~/Library/Safari/Extensions或Extensions.plist文件是否被删除(考虑到安全风险,这可能非常困难)。c)通过每天或其他间隔向外部服务发送ping来跟踪活跃用户群。然后可以通过活动下降来估计删除/不活动率。
您可以在全局文件脚本中注册window.onunload事件来检测扩展程序何时被卸载。最好使用addEventListener()并使用"unload",因为Safari可能会使用该事件清除扩展程序存储。还要确保检测事件是否在扩展程序更新或重新加载时触发,因为在这些情况下,全局页面也会被卸载。window.addEventListener("unload", function() { //handle uninstall event });