Skip to content

Instantly share code, notes, and snippets.

@egorvinogradov
Created June 16, 2015 22:18
Show Gist options
  • Save egorvinogradov/951a382fed0d4e785c57 to your computer and use it in GitHub Desktop.
Save egorvinogradov/951a382fed0d4e785c57 to your computer and use it in GitHub Desktop.
"use strict";window.XdUtils=window.XdUtils||function(){function a(a,b){var c,d=b||{};for(c in a)a.hasOwnProperty(c)&&(d[c]=a[c]);return d}return{extend:a}}(),function(){function a(a,b){var c=XdUtils.extend(b,j);c.id=a,parent.postMessage(JSON.stringify(c),"*")}function b(b,c){var d=localStorage.getItem(c),e={key:c,value:d};a(b,e)}function c(b,c,d){localStorage.setItem(c,d);var e=localStorage.getItem(c),f={success:e===d};a(b,f)}function d(b,c){localStorage.removeItem(c),a(b,{})}function e(b,c){var d=localStorage.key(c);a(b,{key:d})}function f(b){localStorage.clear(),a(b,{})}function g(a){var g;try{g=JSON.parse(a.data)}catch(h){}g&&g.namespace===i&&("set"===g.action?c(g.id,g.key,g.value):"get"===g.action?b(g.id,g.key):"remove"===g.action?d(g.id,g.key):"key"===g.action?e(g.id,g.key):"clear"===g.action&&f(g.id))}function h(){var a={namespace:i,id:"iframe-ready"};parent.postMessage(JSON.stringify(a),"*")}var i="cross-domain-local-message",j={namespace:i};window.addEventListener?window.addEventListener("message",g,!1):window.attachEvent("onmessage",g),h()}();
"use strict";window.XdUtils=window.XdUtils||function(){function a(a,b){var c,d=b||{};for(c in a)a.hasOwnProperty(c)&&(d[c]=a[c]);return d}return{extend:a}}(),function(){function a(a,b){var c=XdUtils.extend(b,j);c.id=a,parent.postMessage(JSON.stringify(c),"*")}function b(b,c){var d=localStorage.getItem(c),e={key:c,value:d};a(b,e)}function c(b,c,d){localStorage.setItem(c,d);var e=localStorage.getItem(c),f={success:e===d};a(b,f)}function d(b,c){localStorage.removeItem(c),a(b,{})}function e(b,c){var d=localStorage.key(c);a(b,{key:d})}function f(b){localStorage.clear(),a(b,{})}function g(a){var g;try{g=JSON.parse(a.data)}catch(h){}g&&g.namespace===i&&("set"===g.action?c(g.id,g.key,g.value):"get"===g.action?b(g.id,g.key):"remove"===g.action?d(g.id,g.key):"key"===g.action?e(g.id,g.key):"clear"===g.action&&f(g.id))}function h(){var a={namespace:i,id:"iframe-ready"};parent.postMessage(JSON.stringify(a),"*")}var i="cross-domain-local-message",j={namespace:i};window.addEventListener?window.addEventListener("message",g,!1):window.attachEvent("onmessage",g),h()}();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment