From 3337e2133a9ecc15d07164db568be1bae29fd973 Mon Sep 17 00:00:00 2001 From: ansuz Date: Tue, 13 Jun 2017 11:57:21 +0200 Subject: [PATCH] more thorough tests for localStorage presence --- www/common/boot2.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/www/common/boot2.js b/www/common/boot2.js index 64d4bd71d..f197b792a 100644 --- a/www/common/boot2.js +++ b/www/common/boot2.js @@ -20,16 +20,24 @@ define([], function () { }; } - if (!localStorage || typeof(localStorage.getItem) !== 'function') { - require('jquery', function ($) { + var failStore = function () { + require(['jquery'], function ($) { $.ajax({ type: 'HEAD', url: '/common/feedback.html?NO_LOCALSTORAGE=' + (+new Date()), }); }); window.alert("CryptPad needs localStorage to work, try a different browser"); - return; - } + }; + + try { + var test_key = 'localStorage_test'; + var testval = Math.random().toString(); + localStorage.setItem(test_key, testval); + if (localStorage.getItem(test_key) !== test_key) { + return failStore(); + } + } catch (e) { console.error(e); return failStore(); } require([document.querySelector('script[data-bootload]').getAttribute('data-bootload')]); });