我正在构建扩展以与Gmail集成,并通过将gmail.js注入页面上下文来与Gmail集成
这似乎是利用Google嵌入到页面中的某些全局变量的唯一明显方法。
所以现在,我需要回到扩展的某些功能。在正常情况下(通过内容脚本操作),我会向后台脚本发送一条消息,但是即使在选项卡本身的上下文中也可能吗?
页面上下文脚本确实不能使用Chrome API。 但是,它可以分派可由内容脚本捕获的DOM事件。
因此,您需要使内容脚本像页面上下文和背景之间的代理一样工作。遵循以下原则:
// 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);
您可以对此进行概括以将答案传回。