首页 > web前端 > js教程 > 正文

如何使用 Chrome 扩展程序访问 Gmail 邮件中的全局变量?

DDD
发布: 2024-10-26 06:56:02
原创
543 人浏览过

How Can I Access Global Variables in Gmail Messages Using a Chrome Extension?

使用 Chrome 扩展程序访问 Gmail 邮件中的全局变量

简介

创建 Chrome 扩展程序可以使您能够修改网页行为。其中一项需求是从页面检索全局变量,例如 Gmail 消息中的 GLOBALS 变量。

问题

不幸的是,内容脚本在隔离环境中运行,无法直接访问页面的窗口属性,如 GLOBALS。 jQuery 的 .load() 函数无法检索它,从而导致 ReferenceErrors。尽管能够通过开发人员工具的控制台访问 GLOBALS,但还是会发生这种情况。

解决方案:跨上下文通信

要弥合此通信差距,您可以采用以下两种方法之一:

1。脚本注入:

将新的脚本元素注入到页面上下文中。该脚本可以检索所需的数据并将其传递回内容脚本。

2.事件监听器:

使用事件监听器在页面和内容脚本之间传递数据。内容脚本可以侦听页面脚本触发的具有所需信息的自定义事件。

使用脚本注入的实现示例

内容脚本(run_at:“document_end”):

<code class="js">var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head || document.documentElement).appendChild(s);
s.onload = function() {
    s.remove();
};</code>
登录后复制

Script.js(注入脚本):

<code class="js">setTimeout(function() {
    document.dispatchEvent(new CustomEvent('RW759_connectExtension', {
        detail: GLOBALS
    }));
}, 0);</code>
登录后复制

注意事项

  • 确保“script.js”是添加到清单文件的 web_accessible_resources 部分。
  • 内容脚本应该处理大部分逻辑,因为它们可以访问注入脚本中不可用的其他功能。

以上是如何使用 Chrome 扩展程序访问 Gmail 邮件中的全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!