AngularJS и History API в Chrome приложениях

History API имеет ограниченную поддержку в приложениях Chrome. Однако, AngularJS пытается обратиться к методу history.pushState во время инициализации приложения. Это неминуемо приводит к ошибке: history.pushState is not available in packaged apps.

Лечится так:

angular
    .module('app', [], function($provide) {
        // Prevent Angular from sniffing for the history API
        // since it's not supported in packaged apps.
        $provide.decorator('$window', function($delegate) {
            $delegate.history = null;
            return $delegate;
        });
    });

Источник: github.com

Удаление базы данных IndexedDB в Chrome

Разбираюсь сейчас с разработкой приложений под Google Chrome (chrome apps). Chrome предлагает сразу несколько вариантов хранения данных — Web SQL, IndexedDB, Local Storage, Session Storage, ну и Cookies, конечно. Решил, что для моих целей лучше всего подходит IndexedDB. Естественно, в процессе изучения, разработки и отладки мне приходится много раз создавать, редактировать и удалять записи вручную. Для этого в Chrome Dev Tools встроены инструменты для управления локальными хранилищами — закладка Resources -, но вот почему-то удалить базу данных IndexedDB через GUI панели разработчика нельзя (Chrome 33).

Зато можно удалить базу программно набрав в консоле:


indexedDB.deleteDatabase('myBaseName');