Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!doctype html>
- <html>
- <head><meta charset="UTF-8"><title>localStorage saving</title>
- <script>
- var listen = window.addEventListener;
- (listen||window.attachEvent)((listen ?'':'on') +'message', function(ev){
- var d = typeof ev.data =='string' && ev.data[0] =='{' ? JSON.parse(ev.data) : ev.data
- if(!d.do) return;
- var tok = d.tok
- ,key = d.key;
- switch(d.do){
- case 'set':
- var prev = localStorage[key];
- if(d.val !==undefined)
- localStorage[key] = JSON.stringify(d.val);
- else
- localStorage.removeItem(key);
- break;
- case 'get':
- prev = localStorage[key];
- prev = prev === undefined || typeof prev =='string'&& prev[0] !='{'? prev : JSON.parse(prev); break
- case 'remove':
- prev = localStorage[key];
- if(prev !==undefined)
- localStorage.removeItem(key);
- }
- console.log('[io2]', tok, 'prev=', prev);
- ev.source.postMessage(JSON.stringify(prev !==undefined ? {tok: tok, prev: prev} : {tok: tok, undef:1}), ev.origin);
- },!1);
- </script>
- </head>
- <body>
- This page supports saving of localStorage (on the domain github.io) for sites which erase it on its own domain (such as google.*, facebook.com etc.).
- </body>
- </html>
Add Comment
Please, Sign In to add comment