2016-01-12 28 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

相關問題