Ответ 1
Backbone.localStorage - это внешний файл, который вы можете использовать, который перезаписывает Backbone.Sync.
Вы можете использовать простое обнаружение функции, независимо от того, находится ли пользователь в автономном режиме или онлайн, а затем асинхронно загружать Backbone.localStorage.js, если они находятся в автономном режиме.
Если необходимо, вы также можете передать определенную версию Backbone.sync
вашим моделям и коллекциям.
Если вы хотите сделать оба одновременно, вам придется написать собственную версию Backbone.sync, которая вызывает сервер и вызывает localStorage.
Самый простой способ сделать это - просто определить
Backbone.sync = function() {
originalSync.apply(this, arguments);
localStorageSync.apply(this, arguments);
}
Edit:
Как уже упоминалось в комментариях, если вы используете последний backbone localStorage plugin, вы можете сделать следующее
Backbone.sync = function Sync() {
Backbone.ajaxSync.apply(this, arguments);
return Backbone.localSync.apply(this, arguments);
};