繁体   English   中英

Chrome扩展程序:在内容脚本和网页脚本之间进行通讯

[英]Chrome extension:Communicate between content script and webpage's script

我的内容脚本中包含以下代码,该代码在网页的javascript中调用函数

var actualCode = '(' + function() {
 functionInMyWebPage();
}
+ ')();';
var script = document.createElement('script');
script.textContent = actualCode;
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);

这正在工作,并且会触发functionInMyWebPage()函数。

现在,我需要获取此functionInMyWebPage()的返回值,并调用在内容脚本本身中定义的另一个函数。 如果我在上面的脚本块中调用它,它将因为未定义而抱怨。

内容脚本在称为隔离世界的特殊环境中执行。 他们有权访问所注入页面的DOM,但不能访问该页面创建的任何JavaScript变量或函数。 看起来每个内容脚本都好像在其上运行的页面上没有其他JavaScript在执行。 反之亦然:在页面上运行的JavaScript无法调用任何函数或访问由内容脚本定义的任何变量。

更多信息内容脚本执行环境

暂无
暂无

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

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