diff --git a/1.1/build/basic.js b/1.1/build/basic.js index a2cef84..b09abb2 100644 --- a/1.1/build/basic.js +++ b/1.1/build/basic.js @@ -49,7 +49,8 @@ KISSY.add('gallery/storage/1.1/basic', function(S, JSON) { } store.getAll = function() { } - + store.key = function(index) { + } store.serialize = function(value) { return JSON.stringify(value) } @@ -103,6 +104,9 @@ KISSY.add('gallery/storage/1.1/basic', function(S, JSON) { } return ret } + store.key = function(index) { + return storage.key(index); + } } else if (doc.documentElement.addBehavior) { var storageOwner, @@ -195,16 +199,31 @@ KISSY.add('gallery/storage/1.1/basic', function(S, JSON) { } return ret }) + store.key = withIEStorage(function(storage, index) { + var keys = [] + store.forEach(function(key, val) { + keys.push(key) + }) + return keys[index] + }) } //alert(namespace + '-' + store.get(namespace)); try { - store.set(namespace, namespace) - //alert(namespace + '-' + store.get(namespace)); - if (store.get(namespace) != namespace) { - store.disabled = true + //精确检测,防止我们自己cache大于storage的上限以后,检测不准 + var tempKey = store.key(0) + var tempData = store.get(tempKey) + if(tempKey) { + store.remove(tempKey) + store.set(tempKey, tempData) + } else { + store.set(namespace, namespace) + //alert(namespace + '-' + store.get(namespace)); + if (store.get(namespace) != namespace) { + store.disabled = true + } + store.remove(namespace) } - store.remove(namespace) } catch (e) { store.disabled = true } @@ -223,5 +242,4 @@ KISSY.add('gallery/storage/1.1/basic', function(S, JSON) { return window.__storejs; }, { requires: ['json'] -}); - +}); \ No newline at end of file