2011-12-16 64 views
1

我想从我的内容脚本发送一个数组到后台页面,以便稍后使用chrome.extension.getBackgroundPage()从弹出窗口中存储和调用它。 。从内容脚本发送一个数组到背景页

目前,我的背景页面看起来像这样(基于来自开发人员网站的示例)。

<html> 
<head> 
    <script> 

     function onRequest(request, sender, sendResponse) { 

     chrome.pageAction.show(sender.tab.id); 
     sendResponse({}); 
     }; 

     chrome.extension.onRequest.addListener(onRequest); 

    </script> 
    </head> 
</html> 

我的内容脚本执行一些简单的正则表达式,如果找到一个匹配回应:

chrome.extension.sendRequest({}, function(response) {}); 

我想要做的就是发送由内容脚本创建回数组背景页面。我对于如何解决这个问题有点难堪。我是否需要创建第二个请求,或者可以将数组与上面的响应一起发送。

感谢大家的帮助。这是我第一次在这里发帖,虽然我早就从他人发布:)

回答

1

假设你比赛阵的问题和答案受益称为matches,你的内容的脚本可以使用类似:

chrome.extension.sendRequest({matches: matches}, function(response) {}); 

function onRequest(request, sender, sendResponse) { 
    var matches = request.matches; 
    // do stuff with the matches array here 
    sendResponse({}); 
}; 

一般情况下,无论数据你投入的chrome.extension.sendRequestrequest参数将是PAS:

然后在你的后台页面,则可以从请求中提取的匹配阵列sed到你的onRequest函数。有关更多详细信息,请参阅关于message passing的扩展文档。

+0

非常感谢!这正是我需要的。 – Anthony 2011-12-17 00:32:22

相关问题