diff --git a/js/id/id.js b/js/id/id.js index 8ec96715c..8d4afc7fa 100644 --- a/js/id/id.js +++ b/js/id/id.js @@ -13,14 +13,19 @@ window.iD = function () { return { getItem: function(k) { return s[k]; }, setItem: function(k, v) { s[k] = v; }, - removeItem: function(k) { delete s[k] } + removeItem: function(k) { delete s[k]; } }; })(); context.storage = function(k, v) { - if (arguments.length === 1) return storage.getItem(k); - else if (v === null) storage.removeItem(k); - else storage.setItem(k, v); + try { + if (arguments.length === 1) return storage.getItem(k); + else if (v === null) storage.removeItem(k); + else storage.setItem(k, v); + } catch(e) { + // localstorage quota exceeded + if (typeof console !== 'undefined') console.error('localStorage quota exceeded'); + } }; var history = iD.History(context),