2011-04-02 36 views
1

现在,我通过在后台创建I帧实现的解决方案,所以它处理请求,但是它非常不信任的解决方案+矫枉过正,我有一些像400个文件他们中的每一个使用sendRequest将方法,我无法将它们合并到一个文件,因为它们由依赖装载机(酒吧子架构)加载,现在有另一种解决方案,我已经让他证明概念的-,使用MessageChannel在后台& postMessage的,但问题是,对于contentScript或在我的定义前台,我仍然需要使用chrome API在后台和frontstage之间传递消息。如何使用Chrome扩展API从后台向后台发送请求?

如何解决这个问题呢?:)

+1

从更好的语法开始,然后致力于明确您的问题。 – mattsven 2011-04-02 15:40:59

+0

嗯我来自以色列,我的英语不是我强大的一面,这是我能做的最好的:) – 2011-04-02 20:59:26

回答

1

认为我知道你的意思。你有几个js文件都在背景页面上,并且希望他们能够sendRequest到彼此。你可以通过不实际做sendRequest来做到这一点,但可以调用一个函数。这也可能是用一个例子更好:

取而代之的是:

chrome.extension.onRequest.addListener(function(request, sender, respond) 
{ 
    // bla bla handle request 
}); 

而且这样的:

chrome.extension.sendRequest({ message: "hello" }, function(response) 
{ 
    // do something with response 
}); 

你这样做:

function handle_message(request, sender, respond) 
{ 
    // bla bla handle request 
} 
chrome.extension.onRequest.addListener(handle_message); 

而且这样的:

handle_message({ message: "hello" }, function(response) 
{ 
    // do something with response 
}); 

当然,不在背景页面上的脚本仍然会执行sendRequest s。

相关问题