From 09af7fa1acbe0608f936269ce128dd273f3b3823 Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Mon, 3 Mar 2014 20:22:47 +0000 Subject: [PATCH] test if localStorage is usable, fixes #2350 --- source/Ox/js/Core.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/Ox/js/Core.js b/source/Ox/js/Core.js index 1ebc16c2..fbfda99a 100644 --- a/source/Ox/js/Core.js +++ b/source/Ox/js/Core.js @@ -117,7 +117,14 @@ Ox.localStorage = function(namespace) { localStorage = window.localStorage || {}; // FF 3.6 can't assign to or iterate over localStorage for (var key in localStorage) {}; + + // In Safari (OS X or iOS) is in private browsing mode, + // it appears as though localStorage is available, + // but trying to call .setItem throws an exception. + localStorage.setItem("OxJS.writeTest", ""); + localStorage.removeItem("OxJS.writeTest"); } catch (e) { + console.log('localStorage disabled'); localStorage = {}; } function storage(key, value) {