Chrome扩展将backbone.js集合转换为常规JavaScript数组
在我的背景脚本中:Chrome扩展将backbone.js集合转换为常规JavaScript数组,backbone.js,google-chrome-extension,backbone.js-collections,Backbone.js,Google Chrome Extension,Backbone.js Collections,在我的背景脚本中: var collection = Backbone.Collection.extend({}); chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { sendResponse(new collection()); } 在my browser_action的javascript中: chrome.tabs.getSelected(null, function(t
var collection = Backbone.Collection.extend({});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
sendResponse(new collection());
}
在my 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
});
});
如上所述,sendRequest回调中的“collection”参数是一个常规JS数组,而不是Backbone.collection
这是铬公司采取的消毒人工制品/安全措施吗?有没有办法通过sendRequest传递主干.Collection?来自,它说sendResponse
的参数应该是一个JSON可验证对象,所以我假设调用了集合的toJSON
方法,只剩下数据
如果目标脚本中有集合定义,则可以使用相同的数据实例化新对象