Chrome扩展将Backbone.js集合转换为常规JavaScript数组
-
12-12-2019 - |
题
在我的背景脚本中:
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
方法,让您只需数据。
如果在目标脚本中有集合定义,则可以使用相同数据实例化一个新对象。
不隶属于 StackOverflow