Safari是否在安装扩展时触发一条消息?



我正在设置一个用户可以安装我们的扩展的网页。当用户成功安装时,我想说"祝贺"。

我找不到任何东西来检测这个。Safari是否在安装扩展时触发任何消息?

我以前做过类似的事情,只是把代码放在全局页面中,并使用隐藏设置项来确保它只在第一次运行:

if (!safari.extension.settings.hasRun) {
    safari.extension.settings.hasRun = true;
    alert('Congratulations!');
}

需要注意的一件事是,任何注入的脚本只在新加载的页面上注入,或者在刷新后注入。因此,使用上述代码将消息分派给注入的脚本以修改当前打开的页面的内容有点棘手。要么强制刷新,要么直接打开一个带有欢迎信息的选项卡:

if (!safari.extension.settings.hasRun) {
    safari.extension.settings.hasRun = true;
    safari.application.openBrowserWindow();
    safari.application.activeBrowserWindow.activeTab.url  = "http://www.example.com/welcome";
}

相关内容