use sessionStorage if localStorage is not available (#8806)

This commit is contained in:
Frédéric Péters 2015-11-06 09:21:20 +01:00
parent 8c0a857a35
commit a9219eaaba
1 changed files with 21 additions and 6 deletions

View File

@ -192,6 +192,21 @@
return false;
}
var storage = undefined;
try {
window.localStorage._gadgo_test = true;
window.localStorage.removeItem('_gadjo_test');
storage = window.localStorage;
} catch(e) {
try {
window.sessionStorage._gadjo_test = true;
window.sessionStorage.removeItem('_gadjo_test');
storage = window.sessionStorage;
} catch(e) {
storage = Object();
}
}
$(function() {
$(document).on('click.gadjo', 'a[rel=popup]', displayPopup);
if ($('#sidepage').length) {
@ -200,20 +215,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');
}
}