| <!DOCTYPE html> |
| <body> |
| <script> |
| if (opener) { |
| // We're the popup. Send back our state. What we really want to send is |
| // our origin, but that will come automatically. |
| opener.postMessage(undefined, "*"); |
| self.close(); |
| } else { |
| // We're the child. Start listening for messages from our parent and open |
| // ourselves as the popup when we get the "start" message. |
| onmessage = function (e) { |
| if (e.data == "start") { |
| // Now listen for messages from the thing we plan to open. |
| onmessage = function(e) { |
| parent.postMessage({ data: e.data, origin: e.origin }, "*"); |
| } |
| |
| var a = document.createElement("a"); |
| a.href = location.href; |
| a.target = "_blank"; |
| document.body.appendChild(a); |
| a.click(); |
| } |
| }; |
| } |
| </script> |