首页 > web前端 > js教程 > 如何在 Chrome 扩展程序中从 Gmail 的内容脚本访问全局变量?

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

DDD
发布: 2024-10-25 16:46:02
原创
896 人浏览过

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

访问 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板