2016-04-29 35 views
1
var stuff = "Heeeey"; 
chrome.extension.getBackgroundPage().chrome.tabs.executeScript(null, { 
    file: 'sendMessage.js' 
});; 

如何將變量stuff傳遞給文件sendMessage.js用executeScript傳遞變量

回答

0

沒有辦法將變量傳遞到執行的腳本中。我猜這是爲了安全性和性能原因,因爲這可能會導致內存泄漏。

你可以做的是傳遞一個的變量。

有兩種方式:

  1. 將消息發送到你的腳本,請參閱the messaging for communication between extension and pages
  2. 使用相同executeScript注入變量值到頁面腳本,但通過腳本爲一個字符串,而不是文件名稱。您可以執行executeScript調用:一個用於值注入,另一個用於文件注入。
+0

不知道我是否得到它的工作。我試圖跟隨#1。 'chrome.runtime.onMessage.addListener(function(message)if(message.type ==「pickLine」){ pickLineText = message.content; } });'是否在我的sendMessage.js中並且不管什麼,pickLine似乎總是空白 – Dgameman1

+0

@ ILovephp123這是一個異步消息,也許你發送它之前,監聽器在頁面上註冊?還需要添加所有必需的權限,上次我嘗試做類似的事情時,我花了相當長的時間來使其工作,這並不明顯,他們如何在Chrome中執行此操作... – smnbbrv

+0

sendMessage是否在上方或下方執行shell? – Dgameman1