Gmail扩展,sendMessage从页面上下文背景

我正在构build一个扩展,以便与Gmail集成,并通过将gmail.js注入页面上下文来与Gmail集成,如下所示: https : //github.com/KartikTalwar/gmail-chrome-extension-boilerplate/blob/master /content.js

这似乎是利用Googleembedded在页面上的一些全局variables的唯一显而易见的方式。

所以现在,我需要回到扩展的一些function。 在正常情况下(通过内容脚本运行),我会向后台脚本发送一条消息,但是在标签本身的上下文中甚至可能发生这种情况?

2 Solutions collect form web for “Gmail扩展,sendMessage从页面上下文背景”

页面上下文脚本实际上不能使用Chrome API。
但是,它可以分派内容脚本可以捕获的DOM事件。

这里有一个文档的例子。 除了使用window.postMessage ,您还可以调度自定义事件 。

所以,你需要让你的内容脚本像页面上下文和背景之间的代理一样工作。 沿着这些线路的东西:

 // Content script //Listen for the event window.addEventListener("PassToBackground", function(evt) { chrome.runtime.sendMessage(evt.detail); }, false); // Page context var message = {/* whatever */}; var event = new CustomEvent("PassToBackground", {detail: message}); window.dispatchEvent(event); 

你可以概括这个来传回答案。

为了扩展这一点,当使用gmail.js时,为了从main.js得到一个消息到你的扩展页面,你需要使用你的内容脚本作为中介。 这张图将有希望地说明。

 main.js | | window.postMessage(); | V content.js //window.addEventListener("message", callback, false); | | chrome.runtime.sendMessage(); | V background.js //chrome.runtime.onMessage.addListener(callback); 
  • 在c#中通过gmail发送邮件时更改发件人地址
  • 如何从Gmail下载所有含附件的电子邮件?
  • 我怎样才能避免谷歌邮件服务器要求我通过浏览器login?
  • 用imaplib取得电子邮件,但不要将其标记为SEEN
  • Gmail的新图片caching正在打破新闻稿中的图片链接
  • 电子邮件主题中的animation图标
  • 通过Gmail在.NET中发送电子邮件
  • 如何摆脱GMail HTML电子邮件中的“显示裁剪内容”?
  • 什么是Gmail的URL中的“shva”?
  • 如何使用Python发送电子邮件作为提供者?
  • Gmail启用双因素身份validation时,发送电子邮件失败