从 Chrome 扩展程序内容脚本访问 Gmail 中的全局变量
简介
Chrome 扩展程序是可以访问和增强网页功能的强大工具。但是,从扩展程序内容脚本中的网页访问全局变量可能具有挑战性。
问题:
扩展程序开发人员在从 Gmail 访问 GLOBALS 变量时遇到困难内容脚本。 jQuery.load() 和开发者工具的控制台都无法检索所需的数据,从而导致错误消息。
解决方案:
内容脚本在与网页分离的隔离环境。要访问全局属性,必须采用以下方法之一:
事件监听器方法
在contentscript.js中(清单的“run_at”:“document_end”):
<code class="javascript">var s = document.createElement('script'); s.src = chrome.extension.getURL('script.js'); (document.head||document.documentElement).appendChild(s); s.onload = function() { s.remove(); }; // Event listener document.addEventListener('RW759_connectExtension', function(e) { // e.detail contains the transferred data. alert(e.detail); });</code>
在script.js,放置在扩展目录下,注入到页面中:
<code class="javascript">setTimeout(function() { // Send GLOBALS variable from Gmail to the extension. document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS })); }, 0);</code>
注意事项:
以上是如何在 Chrome 扩展内容脚本中访问 Gmail 的全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!