Skip to content

Instantly share code, notes, and snippets.

@toadkicker
Created September 9, 2013 22:12
Show Gist options
  • Select an option

  • Save toadkicker/6502218 to your computer and use it in GitHub Desktop.

Select an option

Save toadkicker/6502218 to your computer and use it in GitHub Desktop.
(function(){
//allowed domains
var whitelist = ["foo.example.com", "www.example.com"];
function verifyOrigin(origin){
var domain = origin.replace(/^https?:\/\/|:\d{1,4}$/g, "").toLowerCase(),
i = 0,
len = whitelist.length;
while(i < len){
if (whitelist[i] == domain){
return true;
}
i++;
}
return false;
}
function handleRequest(event){
if (verifyOrigin(event.origin)){
var data = JSON.parse(event.data),
value = localStorage.getItem(data.key);
event.source.postMessage(JSON.stringify({id: data.id, key:data.key, value: value}), event.origin);
}
}
if(window.addEventListener){
window.addEventListener("message", handleRequest, false);
} else if (window.attachEvent){
window.attachEvent("onmessage", handleRequest);
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment