1function isStorageAvailable(type) { 2 var storage; 3 try { 4 storage = window[type]; 5 var x = '__storage_test__'; 6 storage.setItem(x, x); 7 storage.removeItem(x); 8 return true; 9 } 10 catch(e) { 11 return e instanceof DOMException && ( 12 // everything except Firefox 13 e.code === 22 || 14 // Firefox 15 e.code === 1014 || 16 // test name field too, because code might not be present 17 // everything except Firefox 18 e.name === 'QuotaExceededError' || 19 // Firefox 20 e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && 21 // acknowledge QuotaExceededError only if there's something already stored 22 (storage && storage.length !== 0); 23 } 24}; 25 26function openNav() { 27 var $StorageAvailable = isStorageAvailable('localStorage'); 28 if ($StorageAvailable != true) { 29 console.warn("[docnavwiki] localStorage seem to be not available. no open/close state store: {",$StorageAvailable,"}"); 30 } 31 if ( $StorageAvailable) { 32 try { 33 localStorage.setItem('sidebar','open'); 34 } catch (e){ 35 console.error("something went wrong when trying to access local storage : {",e,"}"); 36 } 37 } 38 document.getElementById("navbar").style.visibility = "visible"; 39 document.getElementById("main").style.left = "18em"; 40 document.getElementById("openbtn").style.visibility = "hidden"; 41} 42 43function closeNav() { 44 var $StorageAvailable = isStorageAvailable('localStorage'); 45 if ($StorageAvailable != true) { 46 console.warn("[docnavwiki] localStorage seem to be not available. no open/close state store: {",$StorageAvailable,"}"); 47 } 48 if ( $StorageAvailable) { 49 try { 50 localStorage.setItem('sidebar','closed'); 51 } catch (e){ 52 console.error("something went wrong when trying to access local storage : {",e,"}"); 53 } 54 } 55 document.getElementById("navbar").style.visibility = "hidden"; 56 document.getElementById("main").style.left = "0"; 57 document.getElementById("openbtn").style.visibility = "visible"; 58 59} 60 61function storeScrollPosition() { 62 localStorage.setItem('sidebarScrollPosition',navbar.scrollTop); 63} 64 65function SetScrollPosition() { 66 navbar.scrollTo(0,localStorage.getItem('sidebarScrollPosition')); 67} 68 69