Gmail扩展程序/小工具API - 如何在撰写工具栏中添加按钮?

时间:2011-12-31 18:43:01

标签: google-chrome google-chrome-extension gmail userscripts gmail-contextual-gadgets

我正在试图弄清楚如何在Gmail撰写窗口中添加按钮。

在“Gmail实验室”中,他们有一些添加某些按钮的扩展程序例如“发送和存档”按钮和“插入图像”按钮,所以我认为这是可能的。

我检查了他们的API here,您似乎可以向左侧边栏添加小工具或使用依赖于消息上下文的上下文小工具。我正在寻找一种方法来在撰写窗口的工具栏中添加一个按钮,这两个选项似乎都不支持它。

你知道怎么做到这一点?

如果无法使用Gmail API,我还能采用其他方式吗?也许通过创建Google Chrome扩展程序或用户脚本?

我很感激任何可以指引我朝正确方向发展的信息。

感谢。

1 个答案:

答案 0 :(得分:23)

Gmail实验室拥有特殊权限,因为它们是由Google员工编写的,不幸的是我们凡人没有这样的权力。当然,有一种解决方法,你已经正确地指出它是制作Chrome Extension或UserScript。如果您选择执行Chrome扩展程序it will just be a wrapper for a UserScript anyway

您必须以编程方式创建并注入按钮。这将涉及到相当多的搜索Gmail源代码(剧透:它很难看)。

如果没有关于你想做什么的更多细节,我将无法提供更多帮助,但我可以立即帮助你解决一个问题。你必须让你的脚本等到Gmail加载过程完成,这是一个挑战。这是我目前在Minimalist中使用的解决方案:

function bootstrap() {
    target = document.querySelectorAll('.vt:not(.SFzvCe)');
    if (document.querySelectorAll('html.xiu1Fc, html.aao')[0] == null) {
        return;
    }
    if (target.length > 0) {
        // loaded, do stuff
    } else {
        window.setTimeout(bootstrap, 200);
    }
}
window.addEventListener('DOMSubtreeModified', bootstrap);

该版本等待聊天完全加载。如果您有任何其他问题,请与我们联系:@anstosa