2016-01-12 17 views
0

我的插件使用内容脚本与页面进行交互。但它也需要访问该页面的JavaScript,以便它可以运行页面例程之一。所以我的内容脚本需要访问页面的脚本上下文。如何访问页面的脚本上下文

这是我的意思。

附加组件使用哪个接入content.js main.js并使用消息传递进行通信。

但网页(content.js成被注入)都有它自己的JavaScript。我的content.js需要访问该上下文,以便从那里的变量中获取值。

一个怎样才能得到呢?

我有been reading these mdn docs,但似乎他们都在谈论你自己的代码,就像你会为一个首选项页面的HTML页面。但在我的情况下,我正在与外部网站合作,而不是只为插件编码的东西。

回答

0

这工作:

var script = document.createElement("script"); 
script.innerHTML = "alert(myPageVar);"; 
document.body.appendChild(script); 

Credit goes to this fellow

我不知道这是否是做到这一点的最好办法,但是。我希望比我更有知识的人会回答。

下面是如何返回一个值:

var retval = unsafeWindow.SomePageFunction(); 
alert(retval); 

这就是所谓的“不安全”,因为你永远不知道的页面可能被改变,或者可能会发生变化。这是如何当插件interacts with page scripts

相关问题