Я думаю о разработке расширения Chrome для Gmail, и я хочу знать, какие текущие лучшие практики.
Например:
- привязка подписи GPG по умолчанию к каждому письму
- добавление дополнительной кнопки, которая что-то делает (у меня уже есть)
- захват действий отправки электронной почты и побуждение меня сделать что-то завершенное
- ...
- (только примеры, помогающие мне узнать, что возможно)
Существует немало заметных расширений, которые значительно увеличивают функциональность gmail:
- http://www.boomeranggmail.com/
- http://toolbox.mxhero.com/
- http://www.wisestamp.com/
- ...
- (Я не связан ни с одним из них, я просто назвал несколько)
Один из вариантов заключается в том, чтобы заглянуть в их источник, который находится здесь
~/Library/Application Support/Google/Chrome/Default
Но, может быть, есть (желаемое за действительное) хорошее учебное пособие/множество практик о том, как возиться с интерфейсом и функциональностью gmail?
Gmail extension/gadget API - как добавить кнопку в панель инструментов компоновки?
Вам нужно будет создать и ввести программу программно. Это будет включать в себя довольно немного очистки исходного кода Gmail (спойлер: он уродливый).
Как создать расширение chrome для добавления панели в окна gmail?
Самая большая долгосрочная задача, с которой вы столкнетесь, заключается в том, что макет gmail неожиданно изменится и нарушит обнаружение электронной почты или измененный интерфейс. Оба эти вопроса требуют некоторой уловки для решения или потребуют от вас остаться ночью, задаваясь вопросом, вдруг ли Google сломает ваше расширение.
http://www.jamesyu.org/2011/02/05/introducing-gmailr-an-unofficial-javscript-api-for-gmail/
Все они строят сложные API-интерфейсы с аналогичной функциональностью, которые могут все ломаться независимо, если Gmail решит существенно изменить структуру своего приложения (что неизбежно будет).
Gmail запускает свой код через компилятор замыкания, тем самым запутывая все. Кроме того, Gmail, вероятно, является одним из самых сложных приложений javascript.
Библиотека основателя Parse - https://github.com/jamesyu/gmailr - но не обновилась через 1,5 года.
Я могу показать вам, что я получил до сих пор, и просто знаю, что мне не особенно нравятся селекторы, такие как .oh.J-Z-I.J-J5-Ji.T-I-ax7
Примечание: http://anurag-maher.blogspot.co.uk/2012/12/developing-google-chrome-extension-for.html (он также делает это, он также использует такие запутанные селекторы)
manifest.json
"content_scripts": [
{
"matches": ["https://mail.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery-2.1.0.js", "myscript.js"]
}
]
myscript.js
var icon = jQuery(".oh.J-Z-I.J-J5-Ji.T-I-ax7")
var clone = icon.clone();
clone.attr("data-tooltip", "my tooltip");
clone.on("click", function() {
jQuery(".aDg").append("<p class='popup'>... sample content ...</p>");
});
icon.before(clone);
(повторное использование существующих элементов пользовательского интерфейса, поэтому мои функции выглядят изначально)
https://developers.google.com/gmail/gadgets_overview
Существуют гаджеты боковой панели и контекстные гаджеты, но они не предлагают то, что я хочу достичь.
Лаборатории Gmail - это полигон для экспериментальных функций, которые не совсем готовы к прайм-тайму. Они могут меняться, ломаться или исчезать в любое время.
https://groups.google.com/forum/#!forum/gmail-labs-suggest-a-labs-feature Похоже, что способность разрабатывать Лаборатории Gmail заблокирована для сотрудников Google.
https://developers.google.com/gmail/
Нужна помощь? Найдите нас в Qaru под тегом gmail.
Итак, да, мне бы очень хотелось узнать, есть ли там учебники/справочные материалы?
(Я рассмотрел многие "похожие вопросы", и я боюсь, что мои варианты здесь ограничены, но я был бы очень доволен, если бы я укрепил свое просвещение на меня)