From 84d1f9f61fa9cfd7de1b1a890315990d338c88b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 6 Nov 2015 09:21:20 +0100 Subject: [PATCH] use sessionStorage if localStorage is not available (#8806) --- gadjo/static/js/gadjo.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/gadjo/static/js/gadjo.js b/gadjo/static/js/gadjo.js index 7966ec0..fc756b0 100644 --- a/gadjo/static/js/gadjo.js +++ b/gadjo/static/js/gadjo.js @@ -192,6 +192,15 @@ return false; } + var storage = undefined; + try { + window.localStorage._gadgo_test = true; + localStorage.removeItem('_gadjo_test'); + storage = window.localStorage; + } catch(e) { + storage = window.sessionStorage; + } + $(function() { $(document).on('click.gadjo', 'a[rel=popup]', displayPopup); if ($('#sidepage').length) { @@ -200,20 +209,20 @@ $('#sidepage, #main').addClass('enable-transitions'); $('#sidepage, #main').toggleClass('sidepage-expanded'); if ($('#sidepage').hasClass('sidepage-expanded')) { - window.localStorage.sidepage_status = 'expanded'; + storage.sidepage_status = 'expanded'; } else { - window.localStorage.sidepage_status = null; + storage.sidepage_status = null; } }); if (window.location.protocol == 'file:') { /* don't open sidepage when loading from a file:// */ - window.localStorage.sidepage_status = null; + storage.sidepage_status = null; } - if (window.localStorage.sidepage_status === undefined && + if (storage.sidepage_status === undefined && typeof(GADJO_DEFAULT_SIDEPAGE_STATUS) !== "undefined") { - window.localStorage.sidepage_status = GADJO_DEFAULT_SIDEPAGE_STATUS; + storage.sidepage_status = GADJO_DEFAULT_SIDEPAGE_STATUS; } - if (window.localStorage.sidepage_status == 'expanded') { + if (storage.sidepage_status == 'expanded') { $('#sidepage, #main').toggleClass('sidepage-expanded'); } } -- 2.6.2