访问 Gmail 内容脚本中的全局变量
您寻求使用 Chrome 扩展程序从活动 Gmail 邮件网页检索 GLOBALS 变量的解决方案.
内容脚本中的隔离
内容脚本在隔离的环境中执行,防止直接访问页面全局变量。
消息传递技术
要克服这种隔离,请考虑消息传递技术:
注入脚本元素
将脚本元素注入页面的 DOM使用扩展 URL:
<code class="javascript">var s = document.createElement('script'); s.src = chrome.extension.getURL('script.js'); (document.head||document.documentElement).appendChild(s);</code>
建立事件监听器
此外,建立用于数据交换的事件监听器:
<code class="javascript">document.addEventListener('RW759_connectExtension', function(e) { alert(e.detail); // Transfer data, e.g., GLOBALS });</code>
Script.js 注入
在“script.js”中(添加到清单中的 web_accessible_resources 中):
<code class="javascript">setTimeout(function() { document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS // Send GLOBALS to the extension })); }, 0);</code>
消息传递的优点
消息传递方法允许对网页进行有限的扩展逻辑暴露并访问扩展的 Chrome API 函数。
结论
通过实现这些技术,您可以有效地从 Chrome 扩展程序的内容脚本中访问全局变量,例如 GLOBALS。
以上是如何在 Chrome 扩展程序中从 Gmail 的内容脚本访问全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!