繁体   English   中英

与Chrome扩展程序中内容脚本中的页面脚本进行通信

[英]Communicate with a page script from a content script in a Chrome extension

我正在加载一个内容脚本( 1.js ),该脚本有时会附加一个<script> -element,它指向扩展名( 2.js )中的文件。 2.js不能作为内容脚本包含在内。

有没有一种方法可以使用2.js1.js内部定义的变量?

在背景页面和内容脚本之间使用消息传递 后台页面保存该值(通过加载2.js作为脚本,或通过使2.js作为应用程序的后台脚本本身),并使用chrome.extension.onRequest.addListener侦听传入的消息。 内容脚本发送一个请求,内容脚本发送一个具有所需值的响应。

我想通了。 有点脏,但是可以处理我所讨论的动态对象。

我只是通过将其注入页面来添加了所有代码。 这是我的内容脚本:

var path = document.createElement('div');
path.id = 'codearea-path';
path.innerHTML = chrome.extension.getURL('/');
path.style.display = 'none';
document.body.appendChild(path);

var script = document.createElement('script');
script.src = chrome.extension.getURL('1.js');
document.head.appendChild(script);

然后我用同一种代码,包括2.js1.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM