2016-03-29 125 views
0

之间的沟通我有我的内容脚本下面的代码是调用在网页中的javascriptChrome扩展:内容脚本和网页的脚本

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

功能这是工作,它激发了functionInMyWebPage()功能。

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

+0

人谁下投票请解释一下原因!你的答案可以是任何事情,但是要回答一个问题,你需要有足够的证据证明这是一个愚蠢的问题! –

回答

1

内容脚本在称为孤立世界的特殊环境中执行。他们可以访问他们注入的页面的DOM,但不能访问页面创建的任何JavaScript变量或函数。它会查看每个内容脚本,就好像其上运行的页面上没有执行其他JavaScript一样。反过来也是如此:页面上运行的JavaScript不能调用任何函数或访问由内容脚本定义的任何变量。

更多信息Content script execution environment

相关问题