A polyfill to enable IndexedDB using WebSql.
IndexedDB is not supported on all browsers. This IndexedDB polyfill exposes the IndexedDB API in unsupported browsers using WebSQL. This shim is basically an IndexedDB-WebSql adapter.
More details about the project at gh-pages
Using this polyfill, you can use a single offline storage API across browsers (Opera, Safari, Firefox, Chrome and IE10) and even mobile devices (Phonegap on iOS and Android).
To use the polyfill, simply add the following line to your HTML files:
<script type = "text/javascript" src = "http://axemclion.github.com/IndexedDBShim/dist/IndexedDBShim.min.js"></script>
If IndexedDB is not natively supported (and WebSQL is), the polyfill kicks in and makes a window.IndexedDB
object available for you to use.
If you want to force the use of this polyfill (on Chrome where both IndexedDB and WebSql are supported), simply use window.shimIndexedDB.__useShim()
.
To build IndexedDBShim.min.js
- Ensure that you have node and grunt.
- Run
npm install grunt-jsmin-sourcemap
to get the latest version of sourcemap generator. - Run
grunt
(orgrunt.cmd
on windows) on your command line - The output files will be generated in the
dist
directory.
To check if the IndexedDB polyfill works, open test/index.html (hosted from a local server) and check if all the tests complete.
The IndexedDB polyfill has sourcemaps enabled, so the polyfill can be debugged even if the minified file is included.
To print out debug status, use window.shimIndexedDB.__debug(true)
Pull requests or Bug reports welcome !!