我正在设置一个网页,用户可以从中安装我们的扩展程序。当用户成功安装它时,我想说“恭喜”。
我无法找到任何可听的内容来检测这一点。安装扩展程序后 Safari 是否会触发任何消息?
最佳答案
我以前做过类似的事情,只需将代码放在全局页面中,并使用隐藏的设置项来确保它仅在第一次运行:
if (!safari.extension.settings.hasRun) {
safari.extension.settings.hasRun = true;
alert('Congratulations!');
}
需要注意的一件事是,任何注入(inject)的脚本仅在新加载的页面上或刷新后注入(inject)。因此,使用上面的代码向注入(inject)的脚本发送消息以修改当前打开的页面的内容有点棘手。您要么必须强制刷新,要么只打开一个带有欢迎消息的选项卡:
if (!safari.extension.settings.hasRun) {
safari.extension.settings.hasRun = true;
safari.application.openBrowserWindow();
safari.application.activeBrowserWindow.activeTab.url = "http://www.example.com/welcome";
}
关于safari-extension - 安装扩展程序时 Safari 会触发消息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15706941/