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

Ran*_*Ran 18 gmail google-chrome userscripts google-chrome-extension gmail-contextual-gadgets

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

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

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

你知道怎么做的吗?

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

我希望任何可以指导我正确方向的信息.

谢谢.

Ans*_*osa 23

Gmail实验室拥有特殊权限,因为它们是由Google员工编写的,不幸的是我们凡人没有这样的权力.当然,有一种解决方法,你已经正确地指出它是制作Chrome扩展程序或用户脚本.如果您选择执行Chrome扩展程序,它只会是UserScript的包装程序

您必须以编程方式创建和注入按钮.这将涉及到相当多的搜索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);
Run Code Online (Sandbox Code Playgroud)

该版本等待聊天完全加载.如果您有任何其他问题,请告诉我:@anstosa

  • 我所知道的唯一一个是James Yu的[Gmailr](http://www.jamesyu.org/2011/02/05/introducing-gmailr-an-unofficial-javscript-api-for-gmail/).我没有亲自使用它,但我看了代码,它执行得非常好,功能相当全面. (3认同)