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?

Foi útil?

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
scroll top