在我的背景脚本中:

var collection = Backbone.Collection.extend({});

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
  sendResponse(new collection());
}
.

在我的browser_action的javascript:

chrome.tabs.getSelected(null, function(tab) {
  chrome.extension.sendRequest({
    action: "someAction",
    tab: tab 
  },  
  function(collection) {
    // collection is now a JS array, rather than Backbone.Collection
  }); 
}); 
.

如上所述的“Collection”参数中所提到的Sendrequest回调,结果是常规JS数组,而不是backbone.Collection。

是铬服用的良种艺术品/安全措施吗?有没有办法通过sendrequest通过sendrequest来传递骨干网。

有帮助吗?

解决方案

onRequest文档它说参数sendResponse应该是一个json-defiable的对象,所以我假设正在调用集合的生成的toJSON方法,让您只需数据。

如果在目标脚本中有集合定义,则可以使用相同数据实例化一个新对象。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top