首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种使用InboxSDK拦截Gmail组合窗口发送按钮的方法?

是否有一种使用InboxSDK拦截Gmail组合窗口发送按钮的方法?
EN

Stack Overflow用户
提问于 2019-10-29 16:48:35
回答 2查看 431关注 0票数 1

我正在编写一个Chrome扩展,它修改Gmail窗口,以添加一个控件,允许用户在使用我们的专有协议发送消息还是作为常规电子邮件发送消息之间进行选择。我的问题是,一旦扩展确定了控件的状态,它如何拦截发送按钮发送的事件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-30 10:25:58

使用Javascript最简单的方法是:

  • 找到原始发送按钮并克隆它--
  • ,一旦用户选择使用您的专有协议发送邮件,将事件侦听器添加到虚假按钮
  • 中,只要用户选择将原始按钮替换为伪造的
  • ,用户选择发送为常规邮件,则显示原始按钮

我在控制台中尝试了一个快速示例(在打开ComposeView时使用它):

代码语言:javascript
复制
// 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);
票数 1
EN

Stack Overflow用户

发布于 2022-07-11 20:17:28

最好的方法是使用ComposeView“预置”事件。添加事件侦听器(ComposeView.on("presending",回调)),并使用event.cancel()方法

ComposeView.on("presending", (e) => {e.cancel()});

你可以把你的逻辑放在回调中!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58611981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档