Extensão do Chrome conversão backbone.js coleções para regular o JavaScript matriz
-
12-12-2019 - |
Pergunta
No meu plano script:
var collection = Backbone.Collection.extend({});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
sendResponse(new collection());
}
Na minha browser_action do 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
});
});
Como mencionado no comentário acima a 'coleção' argumento na sendRequest de chamada de retorno passa a ser um regular JS matriz, em vez de Backbone.Coleção.
Esta é uma saneamento artefacto / medida de segurança por cromo?Existe alguma maneira de passar uma Espinha dorsal.Coleção via sendRequest?
Solução
Do onRequest
documentação ele diz que o argumento para sendResponse
deve ser um JSON-ifiable objeto, então eu estou supondo que a Coleção toJSON
o método está sendo chamado, deixando-o só com os dados.
Se você tem a Coleção de definição do destino script você pode instanciar um novo objeto, com os mesmos dados.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow