访问 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