From 920aad8466a8ae1180e4cc3f83e56220fe17cfa1 Mon Sep 17 00:00:00 2001 From: Nicolas Bevacqua Date: Tue, 28 Apr 2015 09:29:59 -0300 Subject: [PATCH 1/7] changelog updated --- changelog.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/changelog.markdown b/changelog.markdown index c36023f..926c9fc 100644 --- a/changelog.markdown +++ b/changelog.markdown @@ -1,4 +1,8 @@ -# 1.4.1 +# 1.4.2 Keyboard Smasher + +Fixed a bug where `local-storage` wouldn't retrieve any values unless they had a `'key'` key + +# 1.4.1 Bear Hunt Fix a bug where `local-storage` would throw in IE when using the `file://` protocol From 1683e409eabcbec38c5b0e76118ff36dc554e98c Mon Sep 17 00:00:00 2001 From: Nicolas Bevacqua Date: Tue, 28 Apr 2015 09:30:02 -0300 Subject: [PATCH 2/7] Autogenerated pre-deployment commit --- dist/local-storage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/local-storage.js b/dist/local-storage.js index a8e16f2..cfab16d 100644 --- a/dist/local-storage.js +++ b/dist/local-storage.js @@ -50,7 +50,7 @@ module.exports = accessor; var ms = {}; function getItem (key) { - return 'key' in ms ? ms[key] : null; + return key in ms ? ms[key] : null; } function setItem (key, value) { From 0d426e6a21ea59f8e0540fdd18b0bc561c8b3101 Mon Sep 17 00:00:00 2001 From: Nicolas Bevacqua Date: Tue, 28 Apr 2015 09:30:02 -0300 Subject: [PATCH 3/7] Autogenerated pre-deployment commit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 77d119a..0d66a71 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "local-storage", - "version": "1.4.1", + "version": "1.4.2", "description": "A simplified localStorage API that just works", "main": "local-storage.js", "repository": { From 97d2475ffb863c0848fb56949c8ed031a61db477 Mon Sep 17 00:00:00 2001 From: Nicolas Bevacqua Date: Tue, 28 Apr 2015 09:30:03 -0300 Subject: [PATCH 4/7] v1.4.2 --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index b1092b8..4ce89a7 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "localstorage", "main": "dist/local-storage.js", - "version": "1.4.1", + "version": "1.4.2", "homepage": "https://github.com/bevacqua/local-storage", "authors": [ "Nicolas Bevacqua " From 0df8adc934656c40110861b48d0c341f3dc925c8 Mon Sep 17 00:00:00 2001 From: Filip Kis Date: Tue, 17 Oct 2023 11:46:45 +0200 Subject: [PATCH 5/7] Making it work inside iFrame --- dist/local-storage.js | 14 +++++++++++++- local-storage.js | 14 +++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/dist/local-storage.js b/dist/local-storage.js index cfab16d..ee9510c 100644 --- a/dist/local-storage.js +++ b/dist/local-storage.js @@ -4,7 +4,19 @@ var stub = require('./stub'); var tracking = require('./tracking'); -var ls = 'localStorage' in global && global.localStorage ? global.localStorage : stub; +var inIframe = global && global.top !== global; + +var localStorageAvailable = (function () { + try { + global.localStorage.setItem('test', 'test'); + global.localStorage.removeItem('test'); + return true; + } catch (e) { + return false; + } +}); + +var ls = !inIframe && localStorageAvailable() ? global.localStorage : stub; function accessor (key, value) { if (arguments.length === 1) { diff --git a/local-storage.js b/local-storage.js index 2bd56aa..b96e2eb 100644 --- a/local-storage.js +++ b/local-storage.js @@ -2,7 +2,19 @@ var stub = require('./stub'); var tracking = require('./tracking'); -var ls = 'localStorage' in global && global.localStorage ? global.localStorage : stub; +var inIframe = global && global.top !== global; + +var localStorageAvailable = (function () { + try { + global.localStorage.setItem('test', 'test'); + global.localStorage.removeItem('test'); + return true; + } catch (e) { + return false; + } +}); + +var ls = !inIframe && localStorageAvailable() ? global.localStorage : stub; function accessor (key, value) { if (arguments.length === 1) { From 7cc059b5269776d3e5e6577f50b982260a32e2df Mon Sep 17 00:00:00 2001 From: Filip Kis Date: Tue, 17 Oct 2023 11:46:58 +0200 Subject: [PATCH 6/7] Bump version 1.4.3 --- bower.json | 2 +- changelog.markdown | 4 ++++ package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 4ce89a7..b7eb859 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "localstorage", "main": "dist/local-storage.js", - "version": "1.4.2", + "version": "1.4.3", "homepage": "https://github.com/bevacqua/local-storage", "authors": [ "Nicolas Bevacqua " diff --git a/changelog.markdown b/changelog.markdown index 926c9fc..e4479c6 100644 --- a/changelog.markdown +++ b/changelog.markdown @@ -1,3 +1,7 @@ +# 1.4.3 + +Make it work inside iframe (where localStorage doesn't work cross domains, so we use stub) + # 1.4.2 Keyboard Smasher Fixed a bug where `local-storage` wouldn't retrieve any values unless they had a `'key'` key diff --git a/package.json b/package.json index 0d66a71..0caf47c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "local-storage", - "version": "1.4.2", + "version": "1.4.3", "description": "A simplified localStorage API that just works", "main": "local-storage.js", "repository": { From c0f6d5b0721106cb31e48f34ef7cc1cdaeaa3650 Mon Sep 17 00:00:00 2001 From: Filip Kis Date: Tue, 17 Oct 2023 12:09:59 +0200 Subject: [PATCH 7/7] Fixing so it uses only one check --- dist/local-storage.js | 11 +++++------ local-storage.js | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/dist/local-storage.js b/dist/local-storage.js index ee9510c..f3d151a 100644 --- a/dist/local-storage.js +++ b/dist/local-storage.js @@ -4,19 +4,18 @@ var stub = require('./stub'); var tracking = require('./tracking'); -var inIframe = global && global.top !== global; -var localStorageAvailable = (function () { +var localStorageAvailable = function () { try { - global.localStorage.setItem('test', 'test'); - global.localStorage.removeItem('test'); + global.localStorage.setItem('_test-local-storage-availability_', '1'); + global.localStorage.removeItem('_test-local-storage-availability_'); return true; } catch (e) { return false; } -}); +}; -var ls = !inIframe && localStorageAvailable() ? global.localStorage : stub; +var ls = localStorageAvailable() ? global.localStorage : stub; function accessor (key, value) { if (arguments.length === 1) { diff --git a/local-storage.js b/local-storage.js index b96e2eb..05f5e97 100644 --- a/local-storage.js +++ b/local-storage.js @@ -2,19 +2,18 @@ var stub = require('./stub'); var tracking = require('./tracking'); -var inIframe = global && global.top !== global; -var localStorageAvailable = (function () { +var localStorageAvailable = function () { try { - global.localStorage.setItem('test', 'test'); - global.localStorage.removeItem('test'); + global.localStorage.setItem('_test-local-storage-availability_', '1'); + global.localStorage.removeItem('_test-local-storage-availability_'); return true; } catch (e) { return false; } -}); +}; -var ls = !inIframe && localStorageAvailable() ? global.localStorage : stub; +var ls = localStorageAvailable() ? global.localStorage : stub; function accessor (key, value) { if (arguments.length === 1) {