Title: Save State of Tabs
Post by: poeziafree on July 09, 2022, 11:58:19 PM
Hello,
How can I save all opened tabs with URLs and all data in local storage and recreate them automatically on page reload?
Preferably, the saved data should be updated/created on creating a new tab.
Thanks
Title: Re: Save State of Tabs
Post by: jarry on July 11, 2022, 02:49:31 AM
Here is the simple functions to save and restore the tabs' state. function saveState(t, key){ var tabs = $(t).tabs('tabs'); var state = []; for(var i=0; i<tabs.length; i++){ var opts = $.extend({},tabs[i].panel('options')); delete opts.tab; for(var f in opts){ if ($.isFunction(opts[f])){ delete opts[f]; } } state.push(opts); } localStorage.setItem(key, JSON.stringify(state)); } function restoreState(t, key){ var tabs = $(t).tabs('tabs'); for(var i=tabs.length-1;i>=0;i--){ $(t).tabs('close', i); } var data = localStorage.getItem(key); if (data){ var state = JSON.parse(data); for(var i=0; i<state.length; i++){ $(t).tabs('add', state[i]); } } }
Usage example. saveState('#tt', 'mykey'); // save the state restoreState('#tt', 'mykey'); // restore the state
|