-
Star
(123)
You must be signed in to star a gist -
Fork
(38)
You must be signed in to fork a gist
-
-
Save cirocosta/9f730967347faf9efb0b to your computer and use it in GitHub Desktop.
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>My Iframe</title> | |
| </head> | |
| <body> | |
| <button>Botão</button> | |
| <script type="text/javascript"> | |
| document.querySelector('button').onclick = function () { | |
| // parent.postMessage("message to be sent", "http://the-website-that-will-receive-the-msg.com") | |
| parent.postMessage("myevent", "*") | |
| }; | |
| </script> | |
| </body> | |
| </html> |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>Index</title> | |
| </head> | |
| <body> | |
| <iframe src="iframe.html" width="300" height="300"></iframe> | |
| <script type="text/javascript"> | |
| var eventMethod = window.addEventListener | |
| ? "addEventListener" | |
| : "attachEvent"; | |
| var eventer = window[eventMethod]; | |
| var messageEvent = eventMethod === "attachEvent" | |
| ? "onmessage" | |
| : "message"; | |
| eventer(messageEvent, function (e) { | |
| // if (e.origin !== 'http://the-trusted-iframe-origin.com') return; | |
| if (e.data === "myevent" || e.message === "myevent") | |
| alert('Message from iframe just came!'); | |
| console.log(e); | |
| }); | |
| </script> | |
| </body> | |
| </html> |
It is working whit cross origin iframes?
for future readers: this solution does not work with cross-origin.
it works cross-origin perfectly for me on latest Chrome.
Yes it works. I have an app on production with this and it works cross-origin perfectly
Yes it works. I have an app on production with this and it works cross-origin perfectly
I tested on firefox, was not working for me. Can you please verify?
Yes it works. I have an app on production with this and it works cross-origin perfectly
I tested on firefox, was not working for me. Can you please verify?
Yes, works flawlessly on current Firefox, too.
I can confirm it is working still. Thanks!
it can use for allow user media access?
it can use for allow user media access?
I believe you can try and use the main page to ask the user media access, and retrieve the IDs, then you can send the IDs to the iframe via a message and use it there.
Of course you need to make sure the Iframe is also under SSL because otherwise it wouldn't work..
Works perfectly! I didn't know parent can be used as global variable, like this are.
Thank you so much! Saved the day!
Perfect, it really works :)
Niceeeeeeeeeeeeee
Thank you!
thanks!
It is working w/o iframe ? use window.open instead of iframe