Fix issue #56: Support Filer in node.js as an fs alternative
This commit is contained in:
parent
81b4d26b90
commit
5fcd313e2f
|
@ -31,7 +31,8 @@ define(function(require) {
|
|||
}
|
||||
|
||||
var localStorage = (function(window) {
|
||||
if (typeof window.localStorage === 'undefined') {
|
||||
if (typeof window === 'undefined' ||
|
||||
typeof window.localStorage === 'undefined') {
|
||||
return {
|
||||
getItem : function() {},
|
||||
setItem : function() {},
|
||||
|
@ -53,6 +54,12 @@ define(function(require) {
|
|||
var storageHandler = function() {
|
||||
self._onStorageEvent.apply(self, arguments);
|
||||
};
|
||||
|
||||
// If we're in node.js, skip event registration
|
||||
if (typeof window === 'undefined' || typeof document === 'undefined') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (document.attachEvent) {
|
||||
document.attachEvent('onstorage', storageHandler);
|
||||
} else {
|
||||
|
@ -80,7 +87,7 @@ define(function(require) {
|
|||
self._on('storage', lock);
|
||||
listening = true;
|
||||
}
|
||||
waitTimer = window.setTimeout(lock, WAIT);
|
||||
waitTimer = setTimeout(lock, WAIT);
|
||||
return;
|
||||
}
|
||||
executed = true;
|
||||
|
@ -95,7 +102,7 @@ define(function(require) {
|
|||
self._off('storage', lock);
|
||||
}
|
||||
if (waitTimer) {
|
||||
window.clearTimeout(waitTimer);
|
||||
clearTimeout(waitTimer);
|
||||
}
|
||||
localStorage.removeItem(INDEX_LOCK);
|
||||
}
|
||||
|
@ -240,7 +247,7 @@ define(function(require) {
|
|||
localStorage.setItem(INDEX_EMIT, data);
|
||||
self.trigger(name, message);
|
||||
|
||||
window.setTimeout(function() {
|
||||
setTimeout(function() {
|
||||
self._cleanup_emit();
|
||||
}, 50);
|
||||
});
|
||||
|
@ -277,7 +284,7 @@ define(function(require) {
|
|||
localStorage.setItem(INDEX_ONCE, JSON.stringify(data));
|
||||
fn();
|
||||
|
||||
window.setTimeout(function() {
|
||||
setTimeout(function() {
|
||||
self._cleanup_once();
|
||||
}, 50);
|
||||
});
|
||||
|
|
|
@ -2,10 +2,12 @@ define(function(require) {
|
|||
var FILE_SYSTEM_NAME = require('src/constants').FILE_SYSTEM_NAME;
|
||||
var FILE_STORE_NAME = require('src/constants').FILE_STORE_NAME;
|
||||
|
||||
var indexedDB = window.indexedDB ||
|
||||
window.mozIndexedDB ||
|
||||
window.webkitIndexedDB ||
|
||||
window.msIndexedDB;
|
||||
var indexedDB = (function(window) {
|
||||
return window.indexedDB ||
|
||||
window.mozIndexedDB ||
|
||||
window.webkitIndexedDB ||
|
||||
window.msIndexedDB;
|
||||
}(this));
|
||||
|
||||
var IDB_RW = require('src/constants').IDB_RW;
|
||||
var IDB_RO = require('src/constants').IDB_RO;
|
||||
|
|
|
@ -98,7 +98,7 @@ define(function(require) {
|
|||
this.db = null;
|
||||
}
|
||||
WebSQL.isSupported = function() {
|
||||
return !!window.openDatabase;
|
||||
return typeof window === 'undefined' ? false : !!window.openDatabase;
|
||||
};
|
||||
|
||||
WebSQL.prototype.open = function(callback) {
|
||||
|
|
Loading…
Reference in New Issue