Safari是否在安装扩展程序时触发消息?

时间:2013-03-29 16:08:42

标签: safari-extension

我正在设置一个网页,用户可以从中安装我们的扩展程序。当用户设法安装它时,我想说“祝贺”。

我无法找到任何可以侦听的东西。 Safari是否会在安装扩展程序时触发任何消息?

1 个答案:

答案 0 :(得分:2)

之前我已经完成了类似的操作,只需将代码放在全局页面中,并使用隐藏的设置项来确保它只在第一次运行:

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";
}