Есть ли способ перехватить кнопку отправки окна Gmail Compose с помощью InboxSDK? - PullRequest
1 голос
/ 29 октября 2019

Я пишу расширение Chrome, которое изменяет окно Gmail Compose, добавляя элемент управления, который позволяет пользователю выбирать между отправкой сообщения с использованием нашего проприетарного протокола или обычной электронной почтой. У меня вопрос, как только расширение определяет состояние элемента управления, как оно перехватывает событие, отправленное кнопкой Отправить?

1 Ответ

0 голосов
/ 30 октября 2019

Самый простой способ сделать это с помощью Javascript:

  • найти оригинальную кнопку отправки и клонировать ее
  • добавить прослушиватель событий на фальшивую кнопку
  • один разпользователь выбирает отправку почты, используя ваш собственный протокол, просто замените оригинальную кнопку на фальшивую
  • , если пользователь выбирает отправку как обычное письмо, покажите оригинальную кнопку

Быстрый пример, который я пробовал в консоли (используйте его при открытом ComposeView):

// find the original button
const originalSendButton = document.querySelector('.mt-send');
// clone it
const fakeSendButton = originalSendButton.cloneNode(true);
fakeSendButton.addEventListener('click', () => alert('Fake Send Button clicked'));
// show fake button
originalSendButton.parentNode.replaceChild(fakeSendButton, originalSendButton);

// show original button if needed
// fakeSendButton.parentNode.replaceChild(originalSendButton, fakeSendButton);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...