”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 Chrome 扩展程序中从 Gmail 的内容脚本访问全局变量?

如何在 Chrome 扩展程序中从 Gmail 的内容脚本访问全局变量?

发布于2024-11-13
浏览:303

How to Access Global Variables from Gmail\'s Content Script in a Chrome Extension?

访问 Gmail 内容脚本中的全局变量

您寻求使用 Chrome 扩展程序从活动 Gmail 邮件网页检索 GLOBALS 变量的解决方案.

内容脚本中的隔离

内容脚本在隔离的环境中执行,防止直接访问页面全局变量。

消息传递技术

要克服这种隔离,请考虑消息传递技术:

注入脚本元素

将脚本元素注入到页面的 DOM 中使用扩展 URL:

var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);

建立事件监听器

另外,建立数据交换的事件监听器:

document.addEventListener('RW759_connectExtension', function(e) {
    alert(e.detail); // Transfer data, e.g., GLOBALS
});

Script.js 注入

在“script.js”中(添加到清单中的 web_accessible_resources 中):

setTimeout(function() {
    document.dispatchEvent(new CustomEvent('RW759_connectExtension', {
        detail: GLOBALS // Send GLOBALS to the extension
    }));
}, 0);

消息传递的优点

消息传递方法允许有限的扩展逻辑暴露于网页并访问扩展的 Chrome API 函数。

结论

通过实施这些技术,您可以从 Chrome 扩展程序的内容脚本中有效地访问全局变量,例如 GLOBALS。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3